一.原始套接字
原始套接字是允许访问底层传输协议的一种套接字类型,使用原始套接字需要知道很多下层协议的知识如ICMP/IP UDP TCP等。
1. 定义及使用
原始套接字有两种类型,第一种类型是在IP头中使用预定义的协议,如ICMP;另一种是在IP头中使用自定义的协议。
创建原始套接字的函数也是socket和WSASocket,不过要将套接字类型指定为SOCKET-RAW,如下:
SOCKET sRaw = ::socket(AF_INET,SOCKET_RAW,IPPROTO_ICMP);
创建原始套接字时,socket函数的第三个参数protocol的值将成为IP头中协议域的值,IPPROTOCOL_ICMP指定要使用ICMP。