所以我有这个脚本:
packets = sniff(iface="eth0", filter="tcp and(port 80)", prn=lambda x: x.show())
for pkt in packets:
print pkt.show2()
print pkt.time
问题是,在我停止嗅探(然后只显示最后一个数据包时间)之前,脚本不能给我数据包的时间。
如何在嗅探仍然开启的情况下动态打印数据包的时间?
谢谢!
答案 0 :(得分:0)
定义一个能够达到你想要的功能 -
def pktinfo(x):
x.show()
x.show2()
print x.time
将该函数用于prn
参数。
packets = sniff(iface="eth0", filter="tcp and(port 80)", prn=pktinfo)
使用prn
将打印任何返回的数据。您可能希望尝试使用要显示的数据构建自定义格式化字符串并将其返回,而不是在函数中打印它。