1
以Windows 7爲例,我想了解如何在層3(IP)層編寫應用程序。以一個簡單的說明示例爲例,我想在C/C++中自己實現ping。我會如何去做這件事?在網絡層3和2編程
問題當然是,當在IP層而不是TCP/UDP層操作時,沒有端口號來識別IP層關閉分組的進程(我的進程)至。所以,這不可能是傳統的應用層程序。
相反,我認爲我需要的是編寫一個3級hdnler,它可以完成我想要的功能並將其註冊到操作系統,以取代現有的IP層implmentatio。
是我的思想糾正?如果是這樣,我將如何實現它?如果不是,那麼對比方法是什麼?
最後,我想問一下關於第2層(以太網)的完全相同的問題。我如何直接發送amd接收以太網幀?
http://en.wikipedia.org/wiki/Raw_socket –
對於IP以下的圖層,這是最流行的選項:http://www.winpcap.org/或http://www.tcpdump.org/ –