代码地址 https://github.com/wangshub/hmpa-pi
在树莓派上,利用 Wireshark 扫描附近网络 WiFi 设备,并对扫描结果通过邮件或者微信进行推送。
临近春节回老家过年,家里没人,又不想安装摄像头监控,参考 howmanypeoplearearound 写了一个监测脚本,当有手机或其它 Wi-Fi 设备在附近时,通过邮件或者微信提醒。
在 Wi-Fi 网络中,无线网卡是以广播模式发射信号的。当无线网卡将信息广播出去后,所有的设备都可以接收到该信息。将无线网卡设置为监听模式后,就可以捕获到该网卡接收范围的所有数据包。 通过这些数据包,就可以扫描出附近 Wi-Fi 的网络内的设备与信号强度。
一些支持监听模式的网卡
brew install wireshark brew cask install wireshark-chmodbpf
sudo apt-get install tshark # run as non-root sudo dpkg-reconfigure wireshark-common (select YES) sudo usermod -a -G wireshark ${USER:-root} newgrp wireshark
如果是支持监听模式的网卡,可以直接运行
如果刚好是 Rtl8192 + Raspberry Pi,需要先卸载 rtl8192
驱动,再加载 RTL8188
驱动
#!/usr/bin/env bash uname -a # disable rtl8192 driver sudo depmod 4.14.79-v7+ sudo rmmod 8192cu sudo modprobe rtl8192cu # set RTL8188 monitor mode sudo ifconfig wlan1 down sudo iwconfig wlan1 mode monitor sudo ifconfig wlan1 up
git clone https://github.com/wangshub/hmpa-pi.git cd hmpa-pi/ && pip install -r requirements.txt
cp config/config.py.example config/config.py vi config/config.py
参考配置
adapte = 'wlan1' use_email = True email = {"host": "smtp.163.com", "port": 465, "user": "[email protected]", "password": "xxxxxxxxxx", "to_user": "[email protected]"} use_wechat = True serverchan = {"sckey": "xxxxxxxxxxxxxxxxxxxxx"} known_devices = {"94:65:2d:xx:xx:xx": "my cellPhone", "dc:a4:ca:xx:xx:xx": "my Mac", "b8:27:eb:xx:xx:xx": "my raspberry"}
python main.py
sckey
2019-01-24 07:37:01.211617 一共发现了 67 台设备 Known Devices: - my cellPhone - my raspberry - my mac All Devices: - 00:e0:70:3e:xx:xx 14 DH TECHNOLOGY - 94:65:2d:91:xx:xx 14 OnePlus Technology (Shenzhen) Co., Ltd - dc:d9:16:7e:xx:xx -12 HUAWEI TECHNOLOGIES CO.,LTD - b8:27:eb:12:xx:xx -20 Raspberry Pi Foundation - 98:01:a7:eb:xx:xx -40 Apple, Inc. - 20:5d:47:44:xx:xx -44 vivo Mobile Communication Co., Ltd. - ac:b5:7d:5f:xx:xx -46 Liteon Technology Corporation - 04:03:d6:1f:xx:xx -47 Nintendo Co.,Ltd - d4:ee:07:55:xx:xx -48 HIWIFI Co., Ltd. - 44:6e:e5:63:xx:xx -51 HUAWEI TECHNOLOGIES CO.,LTD - 14:75:90:8d:xx:xx -51 TP-LINK TECHNOLOGIES CO.,LTD. - 34:96:72:1d:xx:xx -56 TP-LINK TECHNOLOGIES CO.,LTD. - d8:cb:8a:74:xx:xx -57 Micro-Star INTL CO., LTD. - 40:8d:5c:21:xx:xx -57 GIGA-BYTE TECHNOLOGY CO.,LTD. - 6c:59:40:25:xx:xx -58 SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD. More ...
![]() | 1 d5 2019-01-24 18:30:44 +08:00 nice,小星星送上 |
![]() | 2 sunnyadamm 2019-01-24 18:38:13 +08:00 via Android 我能说我以前写过一个类似的么 |
![]() | 3 easternslope OP @d5 谢谢 |
![]() | 4 easternslope OP @sunnyadamm 感觉挺好玩儿的 |
![]() | 5 Vegetable 2019-01-24 18:42:11 +08:00 via iPhone 这是重新发明了 WIFI 探针吗?去年公司拿来一块给我研究了一下,连上网就能自己向配置好点地址 push 附近设备的 Mac 地址 |
![]() | 6 gaocc 2019-01-24 18:44:53 +08:00 看着蛮 6 的,硬件需求具体是啥? |
![]() | 7 easternslope OP @gaocc 1 个树莓派或者 Mac/Linux,1 个支持监听模式的 USB wifi 模块 |
8 gabon 2019-01-24 19:11:14 +08:00 via Android 那个小路由器刷好 openwrt 感觉更方便 |
![]() | 9 easternslope OP @gabon 好办法,应该可以找到类似 wireshark 这种扫描软件的 *.ipk 安装包 |
![]() | 10 sunnyadamm 2019-01-24 19:38:18 +08:00 via Android @easternslope 以前还写过类似局域网炸弹的东西 |
![]() | 11 easternslope OP @sunnyadamm Love and Peace |
![]() | 12 easternslope OP 注意保护个人隐私,在公共场所 - 不要随意访问 Wi-Fi,还是用流量好 - 关闭 Wi-Fi |
![]() | 13 Neo 2019-01-25 08:52:10 +08:00 ![]() 这样弄成本高了些,找个闲置路由器把程序刷进去就行了 |
![]() | 14 Neo 2019-01-25 08:56:37 +08:00 ![]() 探针都是这样,即使不连热点,都能扫出这些,所以不是用不用公共 wifi 的问题,是做不做坏事的问题,要做坏事用流量基站那边也一样有记录 |
15 Alfons 2019-01-25 09:23:42 +08:00 为啥不用 airodump 呢 |
![]() | 16 justin2018 2019-01-25 16:57:05 +08:00 @easternslope 楼主问哈 图例中你用的是哪款 usb 网卡 树莓派免驱不~ 谢谢了~ |
![]() | 17 easternslope OP @justin2018 型号 RT3070,树莓派直接免驱能用,淘宝上很便宜 |
![]() | 18 tuomasi 2019-02-01 18:01:21 +08:00 我准备只带个大钳子去你家 |