2011-08-15 84 views
1

我已經從sk_buff(hook數據包並通過skb-> head到skb_> end)收集了char *緩衝區,並將此緩衝區傳輸到另一臺PC。現在我想從一臺新電腦重新發送這個數據包到網絡。我怎樣才能發送它?通過使用dev_queue_xmit(),我必須從char *和數據長度重構sk_buff結構。有可能的?或者我可以使用原始套接字重新發送我的數據?用sk_buff從內核的char * buf發送數據包到網絡設備

回答

0

我相信你有構建sk_buff重構。另外我不認爲從它收集char*是一個合理的想法。

sk_buff只是表示由單獨的部分組成的字節流,因此在編寫數據包時不必將其複製到整個位置。您不應該從sk_buff收集單個緩衝區,但是如果您有單個緩衝區,只需填寫新的sk_buff,其中一部分指向緩衝區即可完成。

+0

我必須重新發送我的數據包在一個新的一面,這就是爲什麼我傳輸數據+標題......現在我想我該怎麼做,我需要一個緩衝區或不同的char *緩衝區的有效載荷和標題 – SeregASM

相關問題