The following code:
sniff(filter = "dst aa:bb:cc:dd:ee" )
throws an error because sniff
is expecting an IP, not a MAC.
So how are you supposed to filter by MAC?
what about specyfing a lfilter
for sniff
?
zzz = sniff(lfilter=lambda d: d.src == 'aa:bb:cc:dd:ee:ff')
dst
and src
are attributes of sniffed message.
previously i have posted an answer where stop_filter
was specified. i suppose that it wouldn't work for you, since scapy would stop after receving first packet that match the mac address from stop_filter
. lfilter
should do the job.
from sendrecv.py
:
lfilter: python function applied to each packet to determine
if further action may be done
ex: lfilter = lambda x: x.haslayer(Padding)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With