我正在使用基于scapy的工具,我需要根据协议和目标的IP地址来嗅探数据包
我想知道如何使用sniff()函数中的filter选项。我尝试在文档中使用格式,但大多数时候它会导致这样的问题。 the filter of sniff function in scapy does not work properly。
我使用的是
a=sniff(filter="host 172.16.18.69 and tcp port 80",prn = comp_pkt,count = 1)
提前致谢!
答案 0 :(得分:14)
sniff()
使用伯克利数据包过滤器(BPF)syntax(与tcpdump
相同),以下是一些示例:
来自或来自主持人的数据包:
host x.x.x.x
仅限TCP SYN段:
tcp[tcpflags] & tcp-syn != 0
所有ICMP但回应请求/回复:
icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply