如何通过以太网MAC地址过滤

bzu*_*ick 5 python scapy packet-sniffers

以下代码:

sniff(filter = "dst aa:bb:cc:dd:ee" ) 
Run Code Online (Sandbox Code Playgroud)

抛出错误是因为sniff期待IP,而不是MAC.

那么你应该怎么过MAC过滤?

mac*_*fij 2

lfilter指定 a for怎么样sniff

zzz = sniff(lfilter=lambda d: d.src == 'aa:bb:cc:dd:ee:ff')
Run Code Online (Sandbox Code Playgroud)


dstsrc是嗅探消息的属性。


之前我已经在指定的地方发布了答案stop_filter。我想这对你不起作用,因为 scapy 会在收到第一个与 mac 地址匹配的数据包后停止stop_filterlfilter应该做这项工作。

sendrecv.py

lfilter: python function applied to each packet to determine                   
         if further action may be done                                         
         ex: lfilter = lambda x: x.haslayer(Padding)
Run Code Online (Sandbox Code Playgroud)