特性
- Wi-Fi 设备扫描
- 邮件提醒
- 微信提醒(Server 酱)
- 陌生设备检测
原理
在 Wi-Fi 网络中,无线网卡是以广播模式发射信号的。当无线网卡将信息广播出去后,所有的设备都可以接收到该信息。将无线网卡设置为监听模式后,就可以捕获到该网卡接收范围的所有数据包。 通过这些数据包,就可以扫描出附近 Wi-Fi 的网络内的设备与信号强度。
监听模式的网卡
一些支持监听模式的网卡
- USB Rt3070 $14
- Panda PAU5 $14
- Panda PAU6 $15
- Panda PAU9 $36
- Alfa AWUSO36NH $33
- Alfa AWUS036NHA $40
- Alfa AWUS036NEH $40
- Sabrent NT-WGHU $15 (b/g) only
软件安装
Mac
brew install wireshark
brew cask install wireshark-chmodbpf
Linux 或 Raspberry Pi
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
参考配置
adapter = 'wlan1'
use_email = True
email = {"host": "smtp.163.com",
"port": 465,
"user": "xxxxxxx@163.com",
"password": "xxxxxxxxxx",
"to_user": "xxxxxxxx@xxxx.com"}
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
运行结果
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 ...
TODO
- 美化打印信息
- 更优雅的参数配置
- 当发现新设备时提醒
- 绘图统计
- 设备距离估计
「 Python经验分享 」
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家免费分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。