我有一个解密的VPN pcap文件。我想要做的是在linux中使用tcptrace读取pcap。但是,tcptrace似乎没有得到我所拥有的这种格式。这是pcap的快照。这是pcap
所以,我要做的是删除12字节,ENC头,然后在那里添加一个14字节的以太网报头。
我不知道该怎么做。我通常希望分离一个只包含请求的pcap,并在删除了12个字节的ENC头后添加一个以太网头。类似地,为答复创建一个pcap。
有人能帮我解决这个问题吗?
发布于 2016-10-11 17:09:30
如果tcptrace可以使用链式生料处理pcap,那么您可以使用editcap从数据包中删除前12个字节,如果使用rawip封装保存文件,甚至不需要添加虚拟以太网头。例如:
editcap infile.pcapng outfile.pcap -L -C 12 -T rawip -F pcap注意:在这里,我使用-F pcap选项强制将输出文件保存为pcapng文件而不是pcapng文件,因为我不知道tcptrace是否支持pcapng文件,并且pcapng是editcap在不指定输出文件类型时使用的默认输出文件类型。
如果tcptrace不支持Linktype Raw,那么您仍然应该能够完成所需的任务,但是您必须使用上面的editcap生成的输出文件并进一步对其进行操作。由于editcap本身不支持向数据包添加虚拟以太网报头,所以可以使用Wireshark将数据包保存到文本文件中,然后将文本文件转换回pcap,但是当您将其转换回pcap时,您可以选择向数据包添加一个虚拟以太网头。最后一步也可以用text2pcap完成。下面是使用Wireshark的步骤:
这个文件现在应该可以被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 30319https://stackoverflow.com/questions/39932246
复制相似问题