gpt4 book ai didi

python - 如何使用 scapy 计算数据包数量

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:27 26 4
gpt4 key购买 nike

我在 scapy 中计算新数据包时遇到问题。这意味着我尝试对每个嗅探数据包进行计数。我是这样写的,但在输出中我有新的数据包,并且在他下面总是有一个。

我当前的代码是:

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"

最佳答案

您的 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")

关于python - 如何使用 scapy 计算数据包数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53328387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com