Linux上常用的抓包工具有tcpdump,还有大名鼎鼎的wireshark(图形界面)。它们都可以抓无线网络WIFI包。本文介绍用两者如何在Linux系统中抓包,假设系统已经正确安装无线网卡驱动,并能识别到wlan0设备。

一、802.11数据包

802.11帧有三种,管理帧、控制帧,数据帧。当我们的手机扫瞄周边WIFI热点时,会发现probe请求,它是管理帧的一种。其中包含了手机的MAC地址。更多802.11帧格式,请自行搜索,本文不涉及。

在使用无线上网时,用wireshark抓包发现其格式与802.3是完全一样的,一度怀疑自己看错,因为明明是使用无线网络,应该是802.11格式的才对。经过研究跟踪内核源码,发现在内核ieee80211驱动会将数据包转换成802.3,然后才上传到网络协议栈,但是,当无线网卡为monitor模式时,不会做转换。有兴趣可参阅内核源码文件net/mac80211/rx.c的ieee80211_rx函数。这方面涉及太多知识,本文只略提一下——其实主要是自己还没研究透,无法写出来。

因此,如果要抓的包有probe等类型时,必须将网卡设置为monitor模式。

二、设置无线网卡工作模式

设置无线网卡模式使用iwconfig命令,如下命令设置为monitor模式:

iwconfig wlan0 mode monitor

也可以使用iw命令,下面是设置为managed模式(作为AP或STA时处于该模式):

 iw wlan0 set type managed
注意,在无线网卡已经启用的情况下,可能无法设置模式,就需要先禁止再设置,最后再启用,示例如下: 
# iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :SET failed on device wlan0 ; Device or resource busy
-上述提示无法设置,设备正忙,所以要先禁止wlan0:
# ifconfig wlan0 down
再设置模式:
# iwconfig wlan0 mode monitor
使用iwconfig查看模式:
# iwconfig wlan0
wlan0     IEEE 802.11abgn  Mode:Monitor  Tx-Power=20 dBm   Retry short limit:7   RTS thr:off   Fragment thr:offPower Management:on
看到Mode:Monitor表明已修改成功。然后再启用:
# ifconfig wlan0 up

但是,一般地,不直接使用wlan0作为monitor模式,而是新建立一个别名:

# iw wlan0 interface add mon0 type monitor  // 添加一个别名mon0,monitor模式
# ifconfig mon0 up // 启用mon0,默认不启用

默认情况下,系统启动后,wlan0是managed模式,另建一个mon0作为抓包使用比较方便,不与原有网卡冲突,当使用wlan0抓包时,为802.3格式;而使用mon0则为802.11。

三、抓包操作步骤示例

使用tcpdump抓包命令:

# tcpdump -i wlan0

# tcpdump -i mon0

如果需要将抓的包用wireshark分析,可以使用-w foo.cap保存成文件,然后用wireshark打开查看。

另外,wireshark工具有Linux版本,在ubuntu输入:

sudo apt-get install wireshark

即可安装,其使用与Windows系统下无差异。在wireshark下使用wlan.fc.type_subtype == 0x04过滤得到probe包,就可以知道有哪些手机或电脑发现probe帧了,知道了MAC的OUI,自然知道手机厂商,就可以知道周边的人使用Apple多些还是Android多点。这或许是传说中的“WIFI探宝”,据说有些商场就使用类似的应用,定位客户,查看流量,等等。

注:本文仅是热身,下面将使用代码方式对无线网卡进行抓包。而802.11 netlink编码正在打算中。

李迟 2016.10.28 周五深夜

Linux使用tcpdump抓获取WIFI包相关推荐

  1. Linux使用tcpdump抓取网络数据包示例

    tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  2. Linux之tcpdump抓包命令详解

    目录 前言 1. 控制抓包行为 2. 控制信息如何显示 3. 控制显示什么数据 4. 过滤命令 4.1 地址过滤 4.2 协议及端口过滤 4.3 报文特征过滤 4.3.1 IP选项设置(20字节,可变 ...

  3. 【linux】【tcpdump】linux之tcpdump抓包及wireshark分析详解

    linux的tcpdump命令主要用于网络问题的调试中,通过抓取传输过程的数据包进行分析和调试.而wireshark则是一款功能强大,使用方便的数据包分析工具,tcpdump+wireshark组合使 ...

  4. Linux(Centos 7)使用tcpdump抓取流量包

    在Linux(Centos 7)上实现抓取流量数据包,这里我使用的是tcpdump(离线安装) 1.检查是否有gcc编译器 ,如果没有可以直接执行 : yum -y install gcc 安装,或者 ...

  5. linux下tcpdump抓包实例

    linux系统上的tcpdump命令对于网络故障定位是一款很好的工具,简单而强大,通过分析网络报文,不但能够定位问题根由,还对软件优化有很大帮助 步骤一:首先确认系统上已经安装了tcpdump(rpm ...

  6. linux下tcpdump抓包保存cap文件,使用Wireshark分析

    1.tcpdump是对网络上的数据包进行截获的包分析工具: 2.安装:yum install tcpdump(yum安装即可),安装完成之后创建一个文件夹,专门存放抓取数据保存的文件,执行tcpdum ...

  7. 【linux】tcpdump抓包

    tcpdump -i eth0 host 192.168.11.22 -w ./target.cap 上面指令,抓取eth0中与192.168.11.22相关的流量,保存到target.cap中 转载 ...

  8. tcpdump抓取HTTP包

    2019独角兽企业重金招聘Python工程师标准>>> tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x485 ...

  9. Linux tcpdump抓包

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

最新文章

  1. 看论文不用来回翻了,这款PDF阅读神器能自动提取前文信息,科研效率max!
  2. Selenium-三种等待方式
  3. 关于box-shadow、border-radius不兼容ie8的解决办法
  4. python高级玩法_python pandas to_excel 高级玩法
  5. mysql 日期函数大全_MYSQL 日期函数大全
  6. 搭建网站随笔(WordPress)
  7. java 循环写法_java的for循环的几种写法
  8. java物品类_Java:类中的所有东西都是静态的 – 这是合理的吗?
  9. 蜻蜓fm收音机电脑版_听腻了无版权的云村,不妨回归淳朴,试试这款高颜值的FM...
  10. java怎么解析mdb文件_java解析MDB文件的方法,已经写成公用方法
  11. C# Gooflow+layer弹出层 全js代码
  12. 利用python处理excel文件并可视化处理-python如何将excel数据处理可视化
  13. 机器学习--K-近邻算法(KNN)
  14. 电商十二、pinyougou02.sql的内容③
  15. 长方形图片填充为正方形
  16. TrueCrypt介绍及入门使用讲解【翻译】
  17. java调用kettle脚本ktr
  18. 皮尔森相关性系数的计算python代码(一)
  19. 「GoTeam 招聘时间」ANKER Golang 开发工程师(深圳)
  20. java解压出来损坏_在Java中解压缩错误

热门文章

  1. java中比较两个文件的大小_Java实现获取文件大小的几种方法
  2. 中兴通讯推出全球首款Wi-Fi 7标准5G CPE
  3. 苹果第一财季营收1239亿美元 iPhone、Mac及服务营收均创下新高
  4. B站回应视频监控被破解上传:下架相关内容 封禁账号
  5. OPPO Reno7/Reno7 Pro今天开售:首发IMX709超感光猫眼镜头
  6. 外媒吐槽:iPhone 13系列为史上力度最小的升级
  7. 特斯拉上海超级工厂Model Y日产量达到1000辆 超过Model 3
  8. 微信新表情戒烟了!腾讯:雪茄大佬成了歪嘴战神
  9. 工信部:老年人拨打三大运营商客服享受一键呼入等服务
  10. 雷军公布小米高管团队:仅15位,常程位列其中