用 Python 脚本,监听附近网络 Wi-Fi 设备,通过邮件和微信进行消息推送

栏目: Python · 发布时间: 5年前

内容简介:代码地址在树莓派上,利用 Wireshark 扫描附近网络 WiFi 设备,并对扫描结果通过邮件或者微信进行推送。临近春节回老家过年,家里没人,又不想安装摄像头监控,参考

代码地址 github.com/wangshub/hm…

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

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

用  <a href='https://www.codercto.com/topics/20097.html'>Python</a>  脚本,监听附近网络 Wi-Fi 设备,通过邮件和微信进行消息推送

特性

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

原理

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

用 Python 脚本,监听附近网络 Wi-Fi 设备,通过邮件和微信进行消息推送

监听模式的网卡

一些支持监听模式的网卡

wifi-adapter-that-supports-monitor-mode

软件安装

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
复制代码

消息推送

  • Server 酱微信推送,需要 Github 登录获取 sckey
  • yagmail 邮箱推送

运行结果

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 ...
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Python

Head First Python

Paul Barry / O'Reilly Media / 2010-11-30 / USD 49.99

Are you keen to add Python to your programming skills? Learn quickly and have some fun at the same time with Head First Python. This book takes you beyond typical how-to manuals with engaging images, ......一起来看看 《Head First Python》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具