大家帮解释下 int s=sock(AF_INET,SOCK_RAW,IPPROT_IP); int s=sock(AF_INET,SOCK_RAW,IPPROT_TCP); int s=sock(AF_INET,SOCK_RAW,IPPROT_RAW); 这三个协议 在sock _raw下 有什么不同 同时在setsockopt(s,***,IP_HANDRICL, &,int len); *** 必须的是 IPPROTO_IP; 谢谢
原始套接字 原始套接字可以访问ICMP和ICMP等协议包,可以读写内核不处理的IP数据包。可以创建自定义的IP数据包首部。一句话,使用原始套接字可以 编写基于IP协议的通讯程序。 1.创建原始套接字 具体格式如下: int sockfd; sockfd = socktet(AF_INET, SOCK_RAW, IPPROTO_ICMP); 第一个参数:协议族 AF_INET 代表TCP/IP协议 第二个参数:SOCKET类型 第三个参数:协议类型 注意: @如果指定协议为0时,原始套接字可...
我用原始套接字法宝,代码如下 char packet[100]; sockfd=socket(AF_INET,SOCK_RAW,IPPROTO_TCP); ... setsockopt(sockfd,IPPROTO_IP,IP_HDRINCL,&flag,sizeof(flag)); /*flag = 1*/ ... fill packet header. ... check and fill packet sum,including tcp sum and ip sum. printf("%d",ip->th_sum); //---------------(1) sendto(sockfd,buffer,head_len,0,(struct sockaddr*)addr,sizeof(struct sockaddr_in)); --- 我...
一个网段支持互联网但不能访问局域网,另一个网段支持局域网但不能访问外网,现用双网卡通过修改路由表实现计算机(windows XP)同时访问互联网和局域网. 设局域网访问网段网关为192.168.2.1 可访问局域网段192.168.x.x ;互联网访问网段网关为192.168.1.1 只能访问局域网192.168.1.x网段.现要实现双网卡计算机既能访问互联网又能访问所有192.168.x.x的局域网资源.步骤如下: 1.设置双网卡地址,N1: 192.168.1.2 ;N2: 192.168.2.2 2.此时c...
:shock: 新装了一台unix,SCO5.0.7机器是hplc2000U3 配好网络之后发现同网段ping可以 跨网段就ping不通 现在已经在etc/rc2.d里面加了自动添加网关得文件S90route 内容就是route add 0.0.0.0 ***.***.***.*** 1 但是还是无法ping其他网段得机器 求救啊求救………………:em10::em08:
我的代码 int fd = socket (PF_INET, SOCK_RAW, IPPROTO_TCP); char buffer[8192]; /* single packets are usually not bigger than 8192 bytes */ while (read (fd, buffer, 8192) > 0) printf ("Caught tcp packet: %s\n", buffer+sizeof(struct iphdr)+sizeof(struct tcphdr)); 刷新网页收不到包。如果IPPROTO_TCP改为icmp ping却可以收到包。 为什么?哪写错了? 我的系统的solaris10 我在网络版问了 ssffzz1 建议发到此版...