2010-01-27 68 views
3

在測試某些網絡設備驅動程序接收功能時,我需要在線路上發送特殊數據包。我知道我需要打開一個原始套接字並將字節輸出。是否有一些衆所周知的例子(C,perl,whatever)已經可以在這個級別上玩?如何將原始數據包注入到我的網絡中

(稍後添加)我寧願非特定於平臺的答案,它們對每個人都最有用。

+0

應該提到,有在Windows XP SP2沒有原始套接字後來... – 2010-01-27 19:24:45

回答

0

我發現這裏有一個很好的C示例,其中Security-Freak只需要對靈活性進行一些修改。我希望在其他語言中有更多的答案。

+0

這可能是糟糕的形式,所以選擇自己的答案,但這是我正在尋找並找到自己的:簡單,快速和髒的代碼已經存在。 – 2010-01-31 02:48:46

2

http://www.codeproject.com/KB/IP/sendrawpacket.aspx

有一個已經存在的項目,可能能夠幫助您與此有關。

+0

嗯 - 這看起來像一個平臺,具體的答案(C++),我要成立有些帳戶可以訪問?呸。 – 2010-01-28 09:26:41

0

我想不出任何例子。但是你應該能夠打開一個你喜歡的任何IP地址的UDP套接字並開始向它寫入數據。確保它的UDP或這不起作用。

2

查看packet的文檔。基本上,您使用SOCK_RAW或SOCK_DGRAM創建套接字,然後使用普通套接字I/O寫入套接字。但是,您發送的數據將直接放在線路上,而不是自動獲取大多數網絡互操作所需的標頭。

相關問題