我正在尝试使用 libpcap 实现重放存储在 .pcap 文件中的数据包。这个过程非常简单:我会用 'pcap_open_offline' 打开 pcap 文件,然后将数据包传递给用 打开的设备pcap_open_live
,并pcap_inject
通过接口发送它们。
现在 NIC 没有连接以太网电缆。我知道这pcap_open_live
不会说明打开的设备是否支持发送,所以我从 pcap_inject ( errno 100
) 得到错误。这是可以预料的吗?如果我只是从 cmd 行中使用 tcpreplay,它会完成并且不会出现错误,无论是否插入了以太网电缆。
任何人都知道 tcpreplay/tcpedit 如何处理“死”接口?tcpreplay 是否会在我尝试将它们原始发送时重写数据包标头?任何帮助表示赞赏!
我在 Ubuntu 14.04 上,界面无地址且处于混杂模式:
auto eth1
iface eth1 inet manual
up ifconfig eth1 promisc up
down ifconfig eth1 promisc down