sniff(iface = choose, filter = ("tcp" or "udp" or "icmp"), lfilter = lambda pkt : "SYN" in pkt, prn = analyze())
要做到这一点,在analyzer()中,我无法使用任何方法来操作程序包,例如pkt.haslayer
或pkt.dport
等。
我也尝试过这种方式
s = sniff(iface = choose, filter = ("tcp" or "udp" or "icmp"), lfilter = lambda pkt : "SYN" in pkt, prn = lambda pkt: analyze(s)
但是在analyze(s)
中,我不能使用s.haslayer("TCP")
或s.dport
。
我对此感到困惑。如何将单个嗅探到的数据包传递给函数,并在该函数中使用与数据包相关的方法?
并且如果我删除λprn = analyze()
或prn = analyze(s)