0 前言
因mac无法开启共享wifi热点,所以,mac使用wireshark抓手机的数据包比较麻烦需进行arp欺骗和中间人攻击之后,才能抓取手机数据包。
本文使用Ettercap进行arp欺骗和中间人攻击过程,主要参考同一局域网环境下的arp欺骗和中间人攻击(mac)
1 本机环境
macOS High Sierra 10.13.3
2 工具准备
WireShark
https://www.wireshark.org/#download
Ettercap
$ brew install ettercap –with-gtk+
(需科学上网,并且安装过程略慢,需耐心等待。另外,需要安装–with-gtk+
版本,不然无法打开Ettercap GUI页面。)
Nmap(网络探测工具和安全/端口扫描器)
$ brew install nmap
gunzip (解压wireshark抓包内容的gzip部分)
3 操作步骤
3.1 使用nmap工具查看同一局域网环境下的个设备IP和名称
nmap -sP 192.168.18.0/24
(其中192.168.18
为当前mac所在网段,可通过ifconfig
查看mac所连网络ip地址,获取所在网段)
结果如下:
其中matrix.modouwifi.com
是路由器,ip为 192.168.18.1
;deMBP.modouwifi.com
是当前mac,ip为 192.168.18.245
;chuangmi-plug-m1
是小米智能插座,ip为192.168.18.162
;MiNote3-xiaomishouji
是小米note3手机(抓包对象),ip为192.168.18.218
。
(手机一直在使用网络,比如,看视频,才比较容易被nmap扫描到。写这篇文章的时候,一开始死活扫描不到手机ip,后来发现手机看视频的时候,就能扫到 = =)
3.2 使用Ettercap进行arp欺骗与回话劫持
使用以下命令启动Ettercap GUI
sudo ettercap -G
嗅探无线网卡 ---> 单击第一个 Unfied sniffing...
en0
是mac的无线网卡,所连无线网和被抓包手机在同一局域网
遍历局域网内的设备列表
如果没有没有扫描到目标设备,通过Scan for hosts
重新扫描
再次扫描,扫描到ip为192.168.18.218
的目标设备,ip为192.168.18.1
的路由器
将目标的设备ipAdd to Target 1
,把网关加入Add to Target 2
,启动arp欺骗
此时,被侵入的目标设备会认为我们是网关,而网关(路由器)会认为我们是被侵入的目标设备,我们扮演了一个中间人的角色。而Ettercap会自动将包转发给正确的目标,在目标看来我们仿佛并不存在。因为ARP的原理,欺骗的有效性并不能保证100%,大家可以多试几次。使用WireShark可以抓到包,即代表成功。
3.3 使用WireShark抓包
3.3.1 wireshark设置为混杂模式
开启混杂模式
3.3.2 开始抓包
抓包en0
无线网卡
输入ip.src == 192.168.18.218
过滤目标设备ip地址
追踪TCP流
因为部分抓到包的内容通过gzip
压缩过,所以看到的数据部分是乱码,需要进行解压缩处理
3.4 使用gunzip解压wireshark数据包的gzip内容
选择原始数据
将TCP抓包内容保存为本地文件test.zip
下载wireshark-http-gunzip 中的http-gunzip.rb
ruby文件到本地
定位到
http-gunzip.rb
ruby文件所在目录,输入ruby http-gunzip.rb < dump
查看gzip压缩内容4 总结
综上,整个流程为:
- 使用nmap扫描同一局域网设备ip和名称,获取目标设备ip和服务器ip。
- 使用Ettercap完成arp欺骗和中间人攻击。
- 使用WireShark抓包。
- 如果抓包到的数据有进行gzip压缩,使用gunzip进行解压缩。
5 号外
根据同一局域网环境下的arp欺骗和中间人攻击(mac) 内容,可以使用Driftnet
自动抓取图片。(这个比较有意思 -> . ->)
但是,port官网已经没有Driftnet
包了,所以需到Driftnet
的 GitHub上,自己下载源码进行编译,如何编译可以参考MacOS10.12利用ettercap+driftnet实现arp嗅探。
参考
同一局域网环境下的arp欺骗和中间人攻击(mac)
wireshark如何扑捉无线局域网数据
MacOS10.12利用ettercap+driftnet实现arp嗅探