浏览代码

change IPPROTO_TCP to IPPROTO_RAW for raw socket,deleted IP_HDRINCL code

wangyu- 7 年之前
父节点
当前提交
256d1eee69
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      network.cpp

+ 3 - 2
network.cpp

@@ -190,7 +190,7 @@ int init_raw_socket()
 	g_ip_id_counter=get_true_random_number()%65535;
 	g_ip_id_counter=get_true_random_number()%65535;
 	if(lower_level==0)
 	if(lower_level==0)
 	{
 	{
-		raw_send_fd = socket(AF_INET , SOCK_RAW , IPPROTO_TCP);// IPPROTO_TCP??
+		raw_send_fd = socket(AF_INET , SOCK_RAW , IPPROTO_RAW);// IPPROTO_TCP??
 
 
 	    if(raw_send_fd == -1) {
 	    if(raw_send_fd == -1) {
 	    	mylog(log_fatal,"Failed to create raw_send_fd\n");
 	    	mylog(log_fatal,"Failed to create raw_send_fd\n");
@@ -198,13 +198,14 @@ int init_raw_socket()
 	        myexit(1);
 	        myexit(1);
 	    }
 	    }
 
 
+	    /*
 	    int one = 1;
 	    int one = 1;
 	    const int *val = &one;
 	    const int *val = &one;
 	    if (setsockopt (raw_send_fd, IPPROTO_IP, IP_HDRINCL, val, sizeof (one)) < 0) {
 	    if (setsockopt (raw_send_fd, IPPROTO_IP, IP_HDRINCL, val, sizeof (one)) < 0) {
 	    	mylog(log_fatal,"Error setting IP_HDRINCL %d\n",errno);
 	    	mylog(log_fatal,"Error setting IP_HDRINCL %d\n",errno);
 	        //perror("Error setting IP_HDRINCL");
 	        //perror("Error setting IP_HDRINCL");
 	        myexit(2);
 	        myexit(2);
-	    }
+	    }*/
 
 
 
 
 	}
 	}