在树莓派上,利用 Wireshark 扫描附近网络 WiFi 设备,并对扫描结果通过邮件或者微信进行推送。
临近春节回老家过年,家里没人,又不想安装摄像头监控,参考 howmanypeoplearearound 写了一个监测脚本,当有手机或其它 Wi-Fi 设备在附近时,可以通过邮件或者微信提醒。
特性
√Wi-Fi 设备扫描
√邮件提醒
√微信提醒(Server 酱)
x陌生设备检测
原理
在 Wi-Fi 网络中,无线网卡是以广播模式发射信号的。当无线网卡将信息广播出去后,所有的设备都可以接收到该信息。将无线网卡设置为监听模式后,就可以捕获到该网卡接收范围的所有数据包。
通过这些数据包,就可以扫描出附近 Wi-Fi 的网络内的设备与信号强度。
监听模式的网卡
一些支持监听模式的网卡
软件安装
Mac
Linux 或 Raspberry Pi
配置网卡
如果是支持监听模式的网卡,可以直接运行
如果刚好在使用 rtl8188 usb Wi-Fi 网卡 + Raspberry Pi ,需要先卸载 rtl8192 驱动,再加载 rtl8188 驱动
运行代码
代码
编辑配置文件
参考配置
运行
python main.py
消息推送
Server 酱微信推送,需要 Github 登录获取 sckey
yagmail 邮箱推送
运行结果
TODO
x美化打印信息
x更优雅的参数配置
x当发现新设备时提醒
x绘图统计历史信息
x设备距离估计