在Windows XP上,我們希望應用程序能夠將UDP數據包從「任意IP4地址」發送到連接到計算機網卡之一的[私人]網絡。接收計算機應該認爲數據包來自不同的設備。應用級IP僞裝?
顯然socket.sendto()
只會創建繼承網卡IP地址的數據包。但是需要額外的硬件(或網卡配置)來完成這項工作?
在Windows XP上,我們希望應用程序能夠將UDP數據包從「任意IP4地址」發送到連接到計算機網卡之一的[私人]網絡。接收計算機應該認爲數據包來自不同的設備。應用級IP僞裝?
顯然socket.sendto()
只會創建繼承網卡IP地址的數據包。但是需要額外的硬件(或網卡配置)來完成這項工作?
RAW插座或RAW以太網插座可能是最好的解決方案。您可以獲取RAW以太網套接字的NDIS驅動程序,然後根據需要在C或.Net中運行。
http://msdn.microsoft.com/en-us/library/ms740548(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/ms740463(v=vs.85).aspx
RAW以太網意味着你將需要構建以太網,IP和每個數據包UDP報頭。