当我使用Scapy分析一些UDP数据包并生成一个列表时,当我读取一个列表值时,它会显示乱码

时间:2017-06-15 08:51:12

标签: python udp wireshark scapy

from scapy.all import *
import re

def get_seq(data):
    list1 = []
    try:
        recive = rdpcap(r"/home/luokai/sipp/pcap/" + data)
        for r in recive:
            a = r[Raw].load
            list1.append(a)

    p = list1[0]
    print p
except:
    print "Error"

结果:

~~~~~~~~} ~~~~~~~~~~} ~~~~ ~~~~~}}}}} ~~ ~~~~~~~~~ ~~~~~~~~} ~~~~~

2 个答案:

答案 0 :(得分:0)

您将二进制数据显示为字符串。您应该将print p替换为print repr(p),例如,更具可读性。

答案 1 :(得分:0)

您正在打印原始二进制数据,您可以通过执行以下操作将其转换为str:

s=str(packet)
print s

但这可能不是你想要的,所以你应该这样做:

packet.show()