原始套接字编程和之前的 UDP 编程差不多,无非就是创建一个套接字后,通过这个套接字接收数据或者发送数据。区别在于,原始套接字可以自行组装数据包(伪装本地 IP,本地 MAC),可以接收本机网卡上所有的数据帧(数据包)。另外,必须在管理员权限下才能使用原始套接字。
1. 原始套接字的创建
int socket ( int family, int type, int protocol );
参数:
family:协议族 这里写 PF_PACKET
type: 套接字类,这里写 SOCK_RAW
protocol:协议类别,指定可以接收或发送的数据包类型,不能写 “0”,取值如下,注意,传参时需要用&nbs
这篇博客详细介绍了Linux环境下如何使用原始套接字进行编程,包括创建原始套接字、获取链路层数据包、设置混杂模式以及发送自定义数据包的方法。原始套接字允许程序员直接操作网络数据包,适用于网络故障诊断和高级网络编程场景。
订阅专栏 解锁全文
528

被折叠的 条评论
为什么被折叠?



