我做了什么 -
- 获得了网络流量的wireshark捕获。
- 编辑捕获文件以删除一个 GET 请求。(使用editcap删除了该行)
- 保存编辑后的文件(从第 2 步开始)
- 对这个文件进行了 tcpreplay。
当我这样做时,我收到一个错误:致命错误:打开 pcap 文件时出错:转储文件格式错误。
关于可能出错的任何输入?我在编辑wireshark pcap文件的方式上做错了吗?
谢谢,安迪
默认的 editcap 捕获文件输出类型是 pcapng。
快速浏览 tcpreplay 文档显示仅提及 libpcap 格式(而不是 pcapng)。
所以:也许解决方案是为editcap指定'-F pcap'选项以将捕获文件输出格式指定为libpcap格式。
更新:
从 tcpreplay 常见问题解答:
“Tcpreplay 是否支持 Pcap-Ng/NTAR 文件?
是的。Tcpreplay 套件使用 libpcap 来读写 pcap 文件。如果您有 libpcap 1.1.0 或更高版本,则 tcpreplay、tcprewrite 等可以读取 pcap-ng 文件。如果你有旧版本的 libpcap,你应该升级到最新版本,因为早期版本的 libpcap 有 pcap-ng 文件的错误。"
所以:(假设您使用的是 libpcap >= 1.1.0 的版本)我不确定问题出在哪里。您可能仍想尝试指定 pcap 输出格式以查看是否有所不同。
另外:您是否能够使用 tcpreplay 读取原始捕获文件(编辑前)?(原始文件的格式是什么?(使用'capinfos filename'来确定文件类型)。