0
scapyでTCPパケットを分析したい。そして、私はpkt.sprintf( '%Raw.load%')を使ってtcpデータを抽出します。しかし、出力文字列には長さに問題があります。 '\'はエスケープ文字の代わりにstrとみなされます。 '\ x11'はASCII文字の代わりに4つの異なる文字列と見なされます。ここscapy.sprintfの出力は生の文字列ですか?なぜ長さが間違っていますか?
は私のコードである:
from scapy.all import *
def findTCPdata(pkt):
raw = pkt.sprintf("%Raw.load%")
print raw
print 'length of TCP data: '+ str(len(raw))
def main():
pkts = rdpcap('XXX.pcap')
for pkt in pkts:
findTCPdata(pkt)
if __name__ == '__main__':
main()
各TCPデータの長さが17の代わりに、画面内の値(53,52,46,52)であるべきです。 4 TCPデータは以下のとおりです。
'U\x11\x04\x92\x02\x03\x1e\[email protected]\x03\xf8q=e\xcb\x15\r'
'U\x11\x04\x92\x02\x03.\[email protected]\x03\xf8q=e\xcb\xb8\x05'
'U\x11\x04\x92\x02\x03X\[email protected]\x03\xf8q=e\xcbiO'
'U\x11\x04\x92\x02\x03n\[email protected]\x03\xf8q=e\xcb\xdb\xe3'
私はproblem.Thankあなたを解決する助けてください!