2010-01-27 61 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写入套接字。但是,您发送的数据将直接放在线路上,而不是自动获取大多数网络互操作所需的标头。

相关问题