在scapy

时间:2016-05-26 06:37:23

标签: python linux networking ethernet scapy

我正在使用基于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)

提前致谢!

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