首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由tshark生成的pcap的pcap2har (-w选项)

由tshark生成的pcap的pcap2har (-w选项)
EN

Stack Overflow用户
提问于 2013-03-01 01:41:39
回答 2查看 1.5K关注 0票数 1

我的pcap文件是通过如下命令生成的:

代码语言:javascript
复制
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的输入。我得到了这个错误:

代码语言:javascript
复制
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部分是:

代码语言:javascript
复制
    elif self.__fh.magic != dpkt.pcap.TCPDUMP_MAGIC:
        raise ValueError, 'invalid tcpdump header'

对于我的pcap (以及tshark命令生成的任何pcap),self.__fh.magic168627466dpkt.pcap.TCPDUMP_MAGIC2712847316

我在pcaputil.py中注释了抛出异常的代码行,但在那之后我得到了以下代码:

代码语言:javascript
复制
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

我已经提交了问题on github

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-01 02:49:50

从Wireshark 1.8开始,默认输出文件格式为pcap-ng,而不是pcap。如果pcap2har使用了libpcap的Python包装器之一,并且您正在运行libpcap1.0或更高版本的系统(这也意味着“不在Windows上运行”,因为没有基于libpcap1.0或更高版本的WinPcap ),它将自动能够读取许多pcap-ng文件,因为libpcap可以读取这些文件,但它可能正在使用自己的代码来读取libpcap文件。

尝试运行带有"-F pcap“的tshark,让它生成一个pcap文件。

票数 2
EN

Stack Overflow用户

发布于 2016-09-08 04:18:15

您可以使用editcap来更改".pcapng“文件的格式:

代码语言:javascript
复制
editcap teste.pcapng teste.pcap -F pcap
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15142100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档