如何将伪以太网头添加到捕获中

时间:2016-10-08 12:17:00

标签: wireshark packet-capture packet-sniffers packets wireshark-dissector

我有一个解密的VPN pcap文件。我想要做的是在linux中使用tcptrace读取pcap。但是,tcptrace似乎没有得到我所拥有的这种格式。 所以这是pcap的快照。 This is the pcap

所以,我想要做的是删除12个字节的ENC头,然后在那里添加一个14字节的以太网头。

我不知道该怎么做。我通常想分离一个只包含请求的pcap,并在删除12个字节的ENC头后添加一个以太网头。 同样为回复创建一个pcap。

有人可以帮我解决一下这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果tcptrace可以使用Linktype Raw处理pcap文件,那么您可以使用editcap从数据包中删除前12个字节,如果您添加虚拟以太网标头,则甚至无需担心使用rawip封装保存文件。例如:

editcap infile.pcapng outfile.pcap -L -C 12 -T rawip -F pcap

注意:这里我使用-F pcap选项强制输出文件保存为pcap文件而不是pcapng文件,因为我不知道tcptrace是否支持pcapng文件,如果未指定输出文件类型,则pcapng是editcap使用的默认输出文件类型。

如果tcptrace不支持Linktype Raw,那么您仍然可以完成所需的操作,但是您必须从上面的editcap获取生成的输出文件并进一步操作它。由于editcap本身不支持向数据包添加虚拟以太网头,因此您可以使用Wireshark将数据包保存到文本文件,然后将文本文件转换回pcap文件,但是当您将其转换回来时对于pcap文件,您可以选择向数据包添加虚拟以太网标头。最后一步也可以使用text2pcap完成。以下是使用Wireshark的步骤:

  1. 加载outfile.pcap文件:文件 - >打开...... - >文件名:outfile.pcap。
  2. 暂时禁用IPv4协议。这是为了确保不会发生重组;否则,如果发生任何重组,则不会以适合稍后导入的格式生成输出文本文件:Analyze - >启用的协议 - >协议 - > IPv4 - >取消选择 - >适用。
  3. 删除或隐藏所有列并添加绝对时间列。这允许您导出时间戳,虽然不是严格要求,但它非常有用:编辑 - >偏好 - >列 - >取消选择所有列;添加 - >字段类型:绝对日期,YYYY-MM-DD和时间;标题“AbsTime” - >好。 (注意:为“Pcap2Text”创建单独的Profile可能更容易,只显示此列。这使您可以在需要再次执行此操作时快速更改为此配置文件,而不会影响列任何其他工作档案。)
  4. 将数据包导出到文本文件:文件 - >导出数据包解析 - >作为“纯文本”文件... - >文件名:outfile.txt;包范围:所有包;数据包格式:选择数据包摘要行(但不包括列标题)和数据包字节。
  5. 重新启用IPv4协议:分析 - >启用的协议 - >协议 - > IPv4 - >选择 - >行。
  6. 关闭原始output.pcap文件。
  7. 导入output.txt文本文件:文件 - >从Hex Dump导入... - >文件名:output.txt;偏移量:十六进制;日期/时间:选择;格式:“%F%T。” (没有引号,但尾随'。'很重要 - 这是默认值); Import Encapsulation类型:以太网;虚拟标题:选择;以太网以太网类型(十六进制):0800 - >行。
  8. 保存文件:文件 - >另存为... - >文件名:newfile_with_dummy_ethernet_header.pcap,保存类型:Wireshark / tcpdump /...- pcap( .pcap; .pcap.gz; .cap; .cap.gz ; 的.dmp; .dmp.gz)
  9. tcptrace现在可以读取此文件。我无法保证这是实现目标的最有效方法,但至少它可以创建一个带tcptrace应该能够读取的以太网封装的pcap文件。

    免责声明:这些说明是使用在Windows 7 64位上运行的Wireshark 1.12.13生成的,或者更具体地说:

    Compiled (64-bit) with GTK+ 2.24.23, with Cairo 1.10.2, with Pango 1.34.0, with
    GLib 2.38.0, with WinPcap (4_1_3), with libz 1.2.5, with SMI 0.4.8, with c-ares
    1.9.1, with Lua 5.2, without Python, with GnuTLS 3.2.15, with Gcrypt 1.6.2,
    without Kerberos, with GeoIP, with PortAudio V19-devel (built Jul 28 2016), with
    AirPcap.
    
    Running on 64-bit Windows 7 Service Pack 1, build 7601, with WinPcap version
    4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch
    1_0_rel0b (20091008), GnuTLS 3.2.15, Gcrypt 1.6.2, with AirPcap 4.1.3 build
    3348.
           Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz, with 8072MB of physical memory.
    
    Built using Microsoft Visual C++ 10.0 build 30319