我在计数船头中的新包时遇到问题。这意味着我尝试计算每个嗅探到的数据包。我是这样写的,但是在输出中我有一个新的数据包,在他下面总是有一个。
我当前的代码是:
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"
答案 0 :(得分:0)
您的"connector.class":
"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector",
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"key.converter.schemas.enable": false,
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": true
变量是count
函数的局部变量。您应该在该函数之外定义全局print_packet
。
count