“重播”tcpdump文件

时间:2011-12-07 08:48:40

标签: c networking network-programming pcap tcpdump

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

我可以使用libpcap函数pcap_open_offline(),遗憾的是我使用的pcap_loop()似乎与pcap_open_offline()不兼容,将代码重写为pcap_next()会非常痛苦。是否有任何程序可以将数据包发送到接口?

2 个答案:

答案 0 :(得分:7)

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

  

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

答案 1 :(得分:0)

较新版本的libpcap提供了一个pcap_inject()函数,可用于将数据包写回。

您可以看到someone's testing program to use pcap_inject() over on UbuntuForums