免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4192 | 回复: 2
打印 上一主题 下一主题

linux 设置 网卡混杂模式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-14 19:25 |只看该作者 |倒序浏览
linux 设置 网卡混杂模式\r\n\r\nsock=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL));\r\n while(1)\r\n { \r\n   n=recvfrom(sock,buffer,2048,0,NULL,NULL);\r\n   .......\r\n  }\r\n在linux 下 用C语言 实现了 截获 与本机通信的 IP包\r\n\r\n请问 大家 如何 在linux 下 用C语言 设置 网卡 为混杂 模式,谢谢,请详细点\r\n\r\n我在网上找了一些\r\n\r\n45.int Set_Promisc(char *interface, int sock ) { \r\n46. struct ifreq ifr; \r\n47. strncpy(ifr.ifr_name, interface,strnlen(interface)+1);\r\n48. if((ioctl(sock, SIOCGIFFLAGS, &ifr) == -1)) { \r\n/*Could not retrieve flags for the interface*/\r\n49. perror(\"Could not retrive flags for the interface\");\r\n50. exit(0);\r\n51. } \r\n52. printf(\"The interface is ::: %s\\n\", interface); \r\n53. perror(\"Retrieved flags from interface successfully\");\r\n54. ifr.ifr_flags |= IFF_PROMISC; \r\n55. if (ioctl (sock, SIOCSIFFLAGS, &ifr) == -1 ) { \r\n/*Could not set the flags on the interface */ \r\n56. perror(\"Could not set the PROMISC flag:\");\r\n57. exit(0); \r\n58. }\r\n59. printf(\"Setting interface ::: %s ::: to promisc\", interface);\r\n60. return(0);\r\n61. }\r\n\r\n编译的时候 提示 SIOCGIFFLAGS ifreq 没有定义,请问需要包含 哪些 .h 文件?谢谢

论坛徽章:
0
2 [报告]
发表于 2006-01-04 19:01 |只看该作者

我的redhat9.0下是<sys/ioctl.h>

不知道你找到原因没有,我的redhat9.0下是<sys/ioctl.h>\r\n若仍不行  sencecialliu@21cn.com

论坛徽章:
0
3 [报告]
发表于 2008-05-04 23:07 |只看该作者
从libpcap中抓到的代码,不知道是不是这样,因为我也不是很确定\r\n\r\n
                        memset(&mr, 0, sizeof(mr));\r\n                        mr.mr_ifindex = handle->md.ifindex;\r\n                        mr.mr_type    = PACKET_MR_PROMISC;\r\n                        if (setsockopt(sock_fd, SOL_PACKET, PACKET_ADD_MEMBERSHIP, &mr, sizeof(mr)) == -1)\r\n                        {\r\n                                snprintf(ebuf, PCAP_ERRBUF_SIZE,\r\n                                        \"setsockopt: %s\", pcap_strerror(errno));\r\n                                break;\r\n                        }\r\n
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP