首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将假以太网头添加到捕获中

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

Stack Overflow用户
提问于 2016-10-08 12:17:00
回答 1查看 2.2K关注 0票数 2

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

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

我不知道该怎么做。我通常希望分离一个只包含请求的pcap,并在删除了12个字节的ENC头后添加一个以太网头。类似地,为答复创建一个pcap。

有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-11 17:09:30

如果tcptrace可以使用链式生料处理pcap,那么您可以使用editcap从数据包中删除前12个字节,如果使用rawip封装保存文件,甚至不需要添加虚拟以太网头。例如:

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

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

这个文件现在应该可以被tcptrace读取。我不能保证这是实现您的目标的最快捷的方法,但是至少它在创建一个tcptrace应该能够读取的以太网封装的pcap方面是有效的。

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

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39932246

复制
相关文章

相似问题

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