我对替罪羊数新包有意见。这意味着我试着数每一个包是嗅到的。我是这样写的,但在输出上,我有了新的包,而且总是有一个在他下面。
我目前的代码是:
def print_packet(packet):
count = 0
ip_layer = packet.getlayer(IP)
print("[!] New Packet: {src} -> {dst}".format(src=ip_layer.src, dst=ip_layer.dst))
count += 1
print(count)
print("[*] Start sniffing...")
sniff(iface=interface, filter="ip", prn=print_packet)
print("[*] Stop sniffing"发布于 2018-11-15 22:06:28
count变量是print_packet函数的本地变量。相反,应该在该函数之外定义全局count。
count = 0
def print_packet(packet):
global count
ip_layer = packet.getlayer(IP)
print("[!] New Packet: {src} -> {dst}".format(src=ip_layer.src,
dst=ip_layer.dst))
count += 1
print(count)
print("[*] Start sniffing...")
sniff(iface=interface, filter="ip", prn=print_packet)
print("[*] Stop sniffing")https://stackoverflow.com/questions/53328387
复制相似问题