2013-07-12 93 views
0

我需要讀取捕獲的PCAP文件,它包含一些專有的描述符在文件的MAC報頭之後開始由FPGA所附,添加額外的2個字節來描述符和寫回。修改捕獲PCAP和寫回

我想用C來實現這個Linux上使用的libpcap庫。我是對的,我需要調用pcap_dump_open()和pcap_dump()來寫入緩衝區?另外,我確實需要在pcap_dump之前用pcap_pkthdr來增加caplen和'len'(相加2),然後再用pcap_dump寫緩衝區?

在此先感謝!

回答

1

我需要讀取捕獲的PCAP文件,包含MAC報頭之後,在文件的開始由FPGA所附一些專有描述符

所以該數據包格式,爲了:

  • MAC報頭
  • 專有描述符
  • 有效載荷

額外2個字節添加到描述符和寫回。

那麼專有描述符會變成2個字節的長度,將有效載荷向下移動兩個字節?

我想在C上使用libpcap庫在Linux上實現這一點。我是對的,我需要調用pcap_dump_open()和pcap_dump()來寫入緩衝區?

這可能做到這一點最簡單的方法。

而且,是不錯,我需要增加caplen並從pcap_pkthdr「len個」因此(加2)前,以書面與pcap_dump緩衝區?

如果要添加2個字節的數據包,是的,你需要通過2出寫數據包之前遞增兩個pcap_pkthdr結構的caplenlen領域。

除非你肯定知道caplen足夠大到包括MAC報頭和所有的專有描述符,直到您將添加有問題的2個字節點的數據,你也應該檢查以確保它是,如果不是,不修改有問題的數據包,只修改該特定數據包的len而不是caplen