Haywinkler05/Python-Network-Scanner

GitHub: Haywinkler05/Python-Network-Scanner

一个用于扫描和监控家庭网络设备的Python工具,帮助用户发现并管理网络连接。

Stars: 0 | Forks: 0

# 🔍 Python 网络扫描器 一款使用 Python 和 Scapy 构建的轻量级家庭网络监控工具。通过 ARP 请求扫描本地网络,发现连接的设备,将其记录到 CSV 文件中,并在检测到新的未知设备时发出警报。 ## 📋 功能特性 - 通过 ARP 扫描发现网络中所有活动设备 - 获取每台设备的 IP 地址、MAC 地址和主机名 - 将结果(带时间戳)保存到 CSV 文件 (`myNetwork.csv`) - 每次扫描时更新已返回设备的 `Last Seen`(最后发现时间) - 在控制台中检测到新的未知设备时发出警报 ## 🛠️ 系统要求 - Python 3.x - Scapy - Npcap (仅 Windows 系统需要) ### 安装依赖 ``` pip install scapy ``` ## 🚀 使用方法 1. 克隆代码仓库 ``` git clone https://github.com/Haywinkler05/Python-Network-Scanner.git cd Python-Network-Scanner ``` 2. 以**管理员身份**运行脚本(原始数据包发送需要) ``` python main.py ``` 3. 在提示时输入您的本地 IP 范围 ``` 在此输入 IP 范围: xxx.xxx.x.0/24 ``` 4. 扫描器将: - 向该范围内的所有设备发送 ARP 请求 - 在控制台中显示发现的设备 - 保存/更新 `myNetwork.csv` 中的结果 - 如果发现新的未知设备,则发出警报 ## 📁 项目结构 ``` Python-Network-Scanner/ ├── main.py # Entry point ├── arp.py # ARP scanning and device extraction ├── store.py # CSV read/write and device comparison └── hostnames.py # Hostname resolution ``` ## ⚠️ 免责声明 此工具仅适用于您**自己的网络**。扫描您不拥有或未获得明确测试许可的网络,在美国《计算机欺诈与滥用法案》(CFAA) 及类似法律下可能属违法行为。 ## 未来计划 - [ ] 计划任务自动扫描 - [ ] MAC 供应商查询(识别设备制造商) - [ ] 新设备的电子邮件/短信警报 - [ ] 连接设备的可视化仪表盘 - [ ] 集成 Nmap 端口扫描 ## 学习收获 - ARP 协议及设备在局域网上的通信原理 - 使用 Scapy 进行 Python 网络编程 - CSV 文件处理与数据持久化 - 使用哈希表进行设备比较的大 O 优化 - 使用 Wireshark 和 tcpdump 进行数据包捕获与分析 - 网络安全概念,包括网络分段和设备指纹识别
标签:ARP扫描, CSV日志, Python, Scapy, 主机监控, 协议分析, 家庭网络, 插件系统, 新设备警报, 无后门, 本地网络, 权限提升, 网络安全, 网络扫描工具, 设备发现, 设备管理, 轻量级工具, 逆向工具, 隐私保护