1

私のpcapファイルは次のようなコマンドで生成されます:

cmd = """tshark -r "%s" -R "frame.time_relative >= %f" -w "%s" """ % (pcap_name, first_dns_query_time, normalized_pcap_name)
subprocess.Popen(cmd)

そして、その正規化されたpcapはpcap2harへの入力を与えられます。このエラーが発生します:

Traceback (most recent call last):
  File "main.py", line 65, in <module>
    dispatcher = pcap.EasyParsePcap(filename=inputfile)
  File "/path/to/pcap2har/pcap2har/pcap.py", line 80, in EasyParsePcap
    ParsePcap(dispatcher, filename=filename, reader=reader)
  File "/path/to/pcap2har/pcap2har/pcap.py", line 27, in ParsePcap
    pcap = ModifiedReader(f)
  File "/path/to/pcap2har/pcap2har/pcaputil.py", line 105, in __init__
    raise ValueError, 'invalid tcpdump header'
ValueError: invalid tcpdump header

pcaputil.pyエラーをスローする部分は次のとおりです。

    elif self.__fh.magic != dpkt.pcap.TCPDUMP_MAGIC:
        raise ValueError, 'invalid tcpdump header'

私のpcap(およびtsharkコマンドによって生成されたすべてのpcap)の場合、self.__fh.magicis168627466およびdpkt.pcap.TCPDUMP_MAGICis2712847316です。

例外をスローする行にコメントしましたpcaputil.pyが、その後、次のようになります。

Traceback (most recent call last):
  File "main.py", line 65, in <module>
    dispatcher = pcap.EasyParsePcap(filename=inputfile)
  File "/path/to/pcap2har/pcap2har/pcap.py", line 80, in EasyParsePcap
    ParsePcap(dispatcher, filename=filename, reader=reader)
  File "/path/to/pcap2har/pcap2har/pcap.py", line 27, in ParsePcap
    pcap = ModifiedReader(f)
  File "/path/to/pcap2har/pcap2har/pcaputil.py", line 108, in __init__
    self.dloff = dpkt.pcap.dltoff[self.__fh.linktype]
KeyError: 4294967295L

私はすでにgithubで問題を提出しました

4

2 に答える 2

2

Wireshark 1.8 以降、デフォルトの出力ファイル形式は pcap ではなく pcap-ng です。pcap2har が libpcap 用の Python ラッパーの 1 つを使用していて、libpcap 1.0 以降のシステムで実行していた場合 (libpcap 1.0 以降に基づく WinPcap のバージョンがないため、「Windows 上で実行されていない」ことも意味します)、 libpcap は多くの pcap-ng ファイルを自動的に読み取ることができますが、libpcap ファイルを読み取るために独自のコードを使用している可能性があります。

「-F pcap」を指定して tshark を実行し、pcap ファイルを生成してみてください。

于 2013-02-28T18:49:49.730 に答える
1

editcap を使用して、「.pcapng」ファイルの形式を変更できます。

editcap teste.pcapng teste.pcap -F pcap
于 2016-09-07T20:18:15.417 に答える