原始套接字的创建:
把第二个参数指定为 SOCK_RAW 并调用socket函数,以创建一个原始套接字。
第三个参数(协议)通常不为0. 举例,我们使用如下代码创建一个IPv4原始套接字:
int sockfd;
sockfd = socket(AF_INET, SOCK_RAW, protocol);
其中protocol参数是形如 IPPROTO_xxx的某个长治,定义在<netinet/in.h>头文件中,如: IPPROTO_IGMP.
只有超级用户才能创建原始套接字。