#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main()
{
int sd;
//sd = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
sd = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
printf("sd = %d\n", sd);
return 0;
}
得到的结果是sd=-1。很郁闷的说,大家帮忙看看哪里有问题阿!
大家看看我的创建原始套接字的一小段代码。
-
- 帖子: 3
- 注册时间: 2008-12-11 20:47
-
- 帖子: 3
- 注册时间: 2008-12-11 20:47
Re: 大家看看我的创建原始套接字的一小段代码。
都没人回啊,来人呐
-
- 帖子: 3
- 注册时间: 2008-12-11 20:47
Re: 大家看看我的创建原始套接字的一小段代码。
还是自己来回答一下吧,运行的时候用管理员的身份运行,即:
gcc -o tracert tracert.c ///这个源程序文件名是tracert.c
sudo ./tracert
gcc -o tracert tracert.c ///这个源程序文件名是tracert.c
sudo ./tracert