前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WinPcap在无线局域网下的使用

WinPcap在无线局域网下的使用

作者头像
王亚昌
发布2018-08-03 15:30:23
7020
发布2018-08-03 15:30:23
举报
文章被收录于专栏:王亚昌的专栏

    最近在做网关方面的项目,用到了WinPcap开发库去获得数据帧,这个开发库功能很强大,但是在无线局域网环境下使用时有一些不同,下面就WinPcap的使用心得和体会汇总一下。

    大家都知道WinPcap是为了满足程序开发的需要从UNIX下的LibPcap库移植过来的,因而是open and free的开发库,所以大家可以放心使用不用担心版权问题。 

    在以太网环境下将网卡设置在混杂模式下很容易获得整个物理链路上的数据帧,即你可以监听整个网段的主机数据包,可以实现Sniffer的功能,但是在无线局域网环境下(WLAN, IEEE802.11协议族),设置为混杂模式却不能嗅获到数据包,为了解决这个问题我也尝试了很多方面,在一次偶然的情况下看到了一种解决方法,那就是不设置为,打开函数  pcap_open_live(const char* device, int snaplen, int promisc, int to_ms, char *ebuf ) 中的第三项设置为0即可获得本机的所以数据帧,这个时候用函数获得数据包时会发现,得到的802.11数据帧与以太帧,即802.3数据帧格式完全一样,而且用pcap_datalink() 去获得网络类型时会发现结果是DLT_EN10MB,即以太网环境,可见该开发库为了方便用户的使用,刻意屏蔽(或简单处理)了帧类型,这样我们就可以像处理以太帧一样去处理了。

    此别,无线局域网环境下监听网络流时最好的工具就是Etheral的近亲Wireshark,它的功能也很强大,应该的是要在首选项中把所要监听的网卡设置为“非混杂模式”。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2007年07月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档