当前位置: 技术问答>linux和unix
嗅探程序不能接受发送的数据包
来源: 互联网 发布时间:2016-04-03
本文导语: 我写了个嗅探程序,我在打开网页的时候,不能收到我get http的包,只能收到之后网页回的报,这是为什么? int sockfd; char buffer[65536]; sockfd=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_IP)); struct ifreq ethreq; strncpy(ethreq.ifr_name,"eth0...
我写了个嗅探程序,我在打开网页的时候,不能收到我get http的包,只能收到之后网页回的报,这是为什么?
int sockfd;
char buffer[65536];
sockfd=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_IP));
struct ifreq ethreq;
strncpy(ethreq.ifr_name,"eth0",IFNAMSIZ);
ioctl(sockfd,SIOCGIFFLAGS,ðreq);
ethreq.ifr_flags|=IFF_PROMISC;
ioctl(sockfd,SIOCGIFFLAGS,ðreq);
while(1){
recvfrom(sockfd,buffer,65536,MSG_DONTWAIT,NULL,NULL);
.....................
.....................
}
int sockfd;
char buffer[65536];
sockfd=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_IP));
struct ifreq ethreq;
strncpy(ethreq.ifr_name,"eth0",IFNAMSIZ);
ioctl(sockfd,SIOCGIFFLAGS,ðreq);
ethreq.ifr_flags|=IFF_PROMISC;
ioctl(sockfd,SIOCGIFFLAGS,ðreq);
while(1){
recvfrom(sockfd,buffer,65536,MSG_DONTWAIT,NULL,NULL);
.....................
.....................
}
|
这种代码肯定收不到了.
看看下面的文章吧:
http://hi.baidu.com/zkheartboy/blog/item/3ce6c207000e10cf7a8947a0.html
看看下面的文章吧:
http://hi.baidu.com/zkheartboy/blog/item/3ce6c207000e10cf7a8947a0.html