python dpkt

如果直接输出packet.src和packet.dst,那么我们得到的将会是一串/0x16/x98/0xaf 这样的乱码,这是为啥,为什么会出现这样的乱码。我也是在网上搜了好久的资料,才发觉原来这是一个python的编码问题。这里使用了一个语句,'%d.%d.%d.%d'%tuple(map(ord,list(packet.src))) 来对packet.src进行转换。%后面那串的大意就是将packet.src转换为list列表,然后使用ord方法返回字符在ASCII码中对应整数,再将这串整数转化为一个元组,'%d.%d.%d.%d'% 的意思是将后面的元组按单引号中的格式输出。

 packet.src 原地址 packet.dst目的地址len(packet)ip包长度

packet.data.sport 源端口 packet.data.dport目的端口。len(packet.data)tcp或者udp包长度

猜你喜欢

转载自www.cnblogs.com/facialprogrammer/p/12709562.html