1

Python で Pcap ファイルを解析しようとしています。このコードを実行すると

for ts, buf in pcap:
    eth = dpkt.ethernet.Ethernet(buf)
    print eth

次の出力を取得する代わりに、ジャンク値を取得します。

Ethernet(src='\x00\x1a\xa0kUf', dst='\x00\x13I\xae\x84,', データ=IP(src='\xc0\xa8\n\n', off=16384, dst= 'C\x17\x030'、sum=25129、len=52、p=6、id=51105、data=TCP(seq=9632694、off_x2=128、ack=3382015884、win=54、sum=65372、flags= 17、dport=80、スポーツ=56145)))

上記の出力を取得する方法を教えてください。

4

3 に答える 3

0

あなたがしようとしたことは、python REPL シェルでのみ機能します。Python スクリプトから動作させたい場合は、次のreprようにメソッドを呼び出す必要があります。

for ts, buf in pcap:
    eth = dpkt.ethernet.Ethernet(buf)
    print repr(eth)  # this is key

Ethernet(src='\x00\x1a\xa0kUf', dst='\x00\x13I\xae\x84,', データ=IP(src='\xc0\xa8\n\n', off=16384, dst= 'C\x17\x030'、sum=25129、len=52、p=6、id=51105、data=TCP(seq=9632694、off_x2=128、ack=3382015884、win=54、sum=65372、flags= 17、dport=80、スポーツ=56145)))

適切なイーサネット パケットを持つ pcap があり、リンク層のようにチェックしたと仮定しています。

于 2016-03-12T17:49:38.600 に答える