1.IPPROTO_IP与IPPROTO_RAW有什么区别?
2.如果在创建socket时协议类型使用SOCK_RAW,协议使用IPPROTO_UDP的情况下, 不设置IP_HDRINCL项可以吗,
我自己来填充UDP头信息, 系统会自动填充IP头发送出去吗?
socket(sock, SOCK_RAW, IPPROTO_UDP);
3.如果在创建socket时协议类型使用SOCK_RAW,协议使用IPPROTO_IP的情况下, 不设置IP_HDRINCL项可以吗,
我自己来填充IP头信息, 在发送时系统会不会把我填充的IP头做为数据,再自动填充IP头呢?
socket(sock, SOCK_RAW, IPPROTO_IP);
2.如果在创建socket时协议类型使用SOCK_RAW,协议使用IPPROTO_UDP的情况下, 不设置IP_HDRINCL项可以吗,
我自己来填充UDP头信息, 系统会自动填充IP头发送出去吗?
socket(sock, SOCK_RAW, IPPROTO_UDP);
3.如果在创建socket时协议类型使用SOCK_RAW,协议使用IPPROTO_IP的情况下, 不设置IP_HDRINCL项可以吗,
我自己来填充IP头信息, 在发送时系统会不会把我填充的IP头做为数据,再自动填充IP头呢?
socket(sock, SOCK_RAW, IPPROTO_IP);
SOCK_RAW ,MSDN 解释:
Provides a raw socket that allows an application to manipulate the next upper-layer protocol header. To manipulate the IPv4 header, the IP_HDRINCL socket option must be set on the socket. To manipulate the IPv6 header, the IPV6_HDRINCL socket option must be set on the socket.
LZ可能要失望了. 原始套接字直接发包在xp下已经被某个补丁封杀了.只能抓包了.想发包要换到win2000.
我空间有些代码你可以下下. 封杀原因估计是用这个功能做D.O.S攻击的人太多了。