我想實現使用libpcap重新存儲在.pcap文件中的數據包。 這個過程非常簡單:我打開pcap_open_offline的pcap文件,然後將數據包傳遞給使用pcap_open_live
打開的設備,並通過接口將它們發送到pcap_inject
。pcap_inject在一個斷開的接口
現在NIC沒有連接到它的以太網電纜。我知道pcap_open_live
不會告訴打開的設備是否支持發送,所以我從pcap_inject(errno 100
)收到錯誤。這是預期的嗎?如果我簡單地使用tcpreplay從cmd行,它完成並不會顯示錯誤,無論是否插入以太網電纜。
任何人都知道tcpreplay/tcpedit如何處理「死」的接口? tcpreplay重寫數據包標題,而我試圖將它們發送原始?任何幫助表示讚賞!
我在Ubuntu 14.04和接口地址少和PROMISC模式:
auto eth1
iface eth1 inet manual
up ifconfig eth1 promisc up
down ifconfig eth1 promisc down
謝謝蓋伊!我證實,即使tcpreplay報告沒有錯誤,數據包確實被丟棄。我打算使用NIC作爲一種嗅探器,並且只處理來自pcap文件的數據包,但是它正在從以太網電纜獲取數據包......我想我只是需要使它不起作用 – icdevppl
或者我可以使用爲此目的的環回設備....希望有一個網絡書籍的假人:P – icdevppl