“重放”tcpdump 文件

问题描述 投票:0回答:3

我正在编写一个程序来分析某些类型的数据包。我得到了包含 tcpdump 格式的测试数据包的转储文件。有什么方法可以将此转储发送到其中一个接口吗?我认为 tcpdump 能够自行完成此操作(不幸的是它不能)。我唯一能做的就是通过wireshark查看数据包(这显然不是可行的方法)。

我可以使用 libpcap 函数

pcap_open_offline()
,不幸的是我使用
pcap_loop()
,它似乎不适用于
pcap_open_offline()
并且将代码重写为
pcap_next()
会非常痛苦。有没有可以向接口发送数据包的程序?

c network-programming pcap tcpdump
3个回答
10
投票

您是否尝试查看已完成的tcpreplay

重播存储在 pcap 文件中的网络流量


0
投票

较新版本的 libpcap 提供了

pcap_inject()
函数,可用于将数据包写回。

您可以在 UbuntuForums 上看到

某人使用 
pcap_inject() 的测试程序。


0
投票

确实,正如 Cedric 提到的,Tcpreplay 是正确的选择。

如果您想详细了解它是如何完成的,请查看此链接,其中深入了解了很多细节。

© www.soinside.com 2019 - 2024. All rights reserved.