4

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

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

4

6 回答 6

3

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

于 2010-01-27T18:51:50.523 回答
2

查看http://tcpreplay.synfin.net/wiki/tcprewrite#RewritingLayer2http://tcpreplay.synfin.net/

于 2010-01-27T18:54:51.613 回答
2

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

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

于 2010-01-27T18:51:16.217 回答
1

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

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

于 2010-01-27T18:59:18.157 回答
0

我想不出任何例子。但是您应该能够为您喜欢的任何 IP 地址打开一个 UDP 套接字并开始向其写入数据。确保它的 UDP 或这将不起作用。

于 2010-01-27T18:51:24.737 回答
0

我发现Security-Freak有一个很好的 C 示例,只需稍作修改即可获得灵活性。我希望有更多其他语言的答案。

于 2010-01-27T18:53:29.900 回答