博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用 Python 脚本,监听附近网络 Wi-Fi 设备,通过邮件和微信进行消息推送
阅读量:7117 次
发布时间:2019-06-28

本文共 2523 字,大约阅读时间需要 8 分钟。

代码地址

在树莓派上,利用 Wireshark 扫描附近网络 WiFi 设备,并对扫描结果通过邮件或者微信进行推送。

临近春节回老家过年,家里没人,又不想安装摄像头监控,参考写了一个监测脚本,当有手机或其它 Wi-Fi 设备在附近时,通过邮件或者微信提醒。

特性

  • Wi-Fi 设备扫描
  • 邮件提醒
  • 微信提醒(Server 酱)
  • 陌生设备检测

原理

在 Wi-Fi 网络中,无线网卡是以广播模式发射信号的。当无线网卡将信息广播出去后,所有的设备都可以接收到该信息。将无线网卡设置为监听模式后,就可以捕获到该网卡接收范围的所有数据包。 通过这些数据包,就可以扫描出附近 Wi-Fi 的网络内的设备与信号强度。

监听模式的网卡

一些支持监听模式的网卡

软件安装

Mac

brew install wireshark brew cask install wireshark-chmodbpf复制代码

Linux 或 Raspberry Pi

sudo apt-get install tshark# run as non-rootsudo dpkg-reconfigure wireshark-common     (select YES)sudo usermod -a -G wireshark ${USER:-root}newgrp wireshark复制代码

配置网卡

  • 如果是支持监听模式的网卡,可以直接运行
  • 如果刚好是 Rtl8192 + Raspberry Pi,需要先卸载rtl8192驱动,再加载RTL8188驱动
#!/usr/bin/env bashuname -a# disable rtl8192 driversudo depmod 4.14.79-v7+sudo rmmod 8192cusudo modprobe rtl8192cu# set RTL8188 monitor modesudo ifconfig wlan1 downsudo iwconfig wlan1 mode monitorsudo ifconfig wlan1 up复制代码

运行代码

下载代码

git clone https://github.com/wangshub/hmpa-pi.gitcd hmpa-pi/ && pip install -r requirements.txt复制代码

编辑配置文件

cp config/config.py.example config/config.pyvi config/config.py复制代码

参考配置

adapter = 'wlan1'use_email = Trueemail = {
"host": "smtp.163.com", "port": 465, "user": "xxxxxxx@163.com", "password": "xxxxxxxxxx", "to_user": "xxxxxxxx@xxxx.com"}use_wechat = Trueserverchan = {
"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复制代码

消息推送

  • ,需要 Github 登录获取sckey
  • yagmail 邮箱推送

运行结果

2019-01-24 07:37:01.211617 一共发现了 67 台设备Known Devices:- my cellPhone- my raspberry- my macAll 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

  • 美化打印信息
  • 更优雅的参数配置
  • 当发现新设备时提醒
  • 绘图统计
  • 设备距离估计

参考链接

License

  • MIT
  • 仅供学习和研究,切勿非法使用

Code

代码地址

转载地址:http://wkdel.baihongyu.com/

你可能感兴趣的文章
北京教育软件创业公司招 .net工程师
查看>>
AIX扩展文件系统
查看>>
RedHat 6 创建和扩容LVM卷
查看>>
access_log每周回滚方法分割一次成access_log.1....
查看>>
centos 6.5 ntp 服务器搭建
查看>>
server2008r2网卡绑定
查看>>
HTML5基础标签一
查看>>
linux下配置socks 5代理
查看>>
CentOS 7 不能连接Kvm虚拟机console.....
查看>>
利用组策略部署软件——将软件发布给用户
查看>>
开心城市能否再创“偷菜”辉煌
查看>>
域名服务DNS--(1)
查看>>
算法学习之路|逆元取模(二)
查看>>
科技,让奥运更智能:阿里云ET大脑推动奥运时代变革
查看>>
修改SSH端口,对Oracle集群的影响
查看>>
vSphere部署系列之05——虚拟机的创建和设置
查看>>
进程间通信的方式及比较
查看>>
Pnp安装过程
查看>>
Linux 下 Oracle 10g 安装“三部曲”
查看>>
ubuntu面板恢复方法
查看>>