如何将原始数据包注入我的网络

时间:2010-01-27 18:47:45

标签: networking device-driver ethernet

在测试某些网络设备驱动程序接收功能时,我需要在线路上发送特殊数据包。我知道我需要打开一个原始套接字并将字节推出。是否有一些众所周知的示例(C,perl,无论如何)已经可以在此级别播放?

(稍后补充)我更喜欢非平台特定的答案,它们对每个人都是最有用的。

6 个答案:

答案 0 :(得分:2)

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

已经有一个现有的项目可以帮助你解决这个问题。

答案 1 :(得分:2)

查看packet的文档。基本上,您使用SOCK_RAW或SOCK_DGRAM创建套接字,然后使用普通套接字I / O写入套接字。但是,您发送的数据将直接放在线路上,而不是自动获取大多数网络互操作所必需的标头。

答案 2 :(得分:2)

答案 3 :(得分:1)

在我看来,您正在寻找一种生成自己的数据包的工具,Scapy是安全行业中经常使用的工具(如测试者)。

演示可用:http://www.secdev.org/projects/scapy/demo.html

答案 4 :(得分:0)

我想不出任何例子。但是你应该能够打开一个UDP套接字到你喜欢的任何IP地址并开始向它写入数据。确保其UDP或此功能无效。

答案 5 :(得分:0)

我发现在Security-Freak处有一个很好的C示例,只需要稍微修改一下灵活性。我希望其他语言有更多的答案。