用于生成和发送数据包的C代码

时间:2010-08-12 13:49:03

标签: c network-programming packets

我想了解C中的内置库函数,以构建一个完整的数据包(以及框架)并通过网络发送...任何人都可以上传执行上述操作的C代码... :)

1 个答案:

答案 0 :(得分:1)

这是一个非常简单的代码示例,用于通过UDP套接字进行通信的两个程序:一个代码列表创建并发送一个数据包,一个接收它。

http://www.abc.se/~m6695/udp.html

请注意,这些网络功能不是C语言本身的一部分,它本身没有网络支持,但它们是标准的(我认为是POSIX),并且在大多数现代C实现中都以类似的形式提供。

请注意,对于标准函数,您只需指定数据包有效负载,地址,端口和一些标志,您无法控制以太网帧,IP标头等的确切内容,这些是为您创建的由操作系统。如果你需要对低级别数据包进行这种级别的控制,我相信你可以使用libpcap / winpcap来达到这个目的,或者某些操作系统可能有'raw'套接字可以让你这样做。