SagiHacky/PyScanner
GitHub: SagiHacky/PyScanner
PyScanner 是一个零配置的 Python 局域网扫描器,能自动发现网络设备并探测开放端口、操作系统、MAC 地址及供应商信息。
Stars: 0 | Forks: 0
# PyScanner 🔍
```
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░ p y s c a n n e r ░
░ network recon · python ░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
```
一个使用 Python 构建的网络扫描器,灵感来自 nmap。PyScanner 会自动检测你的本地网络并扫描所有设备 —— 包括开放端口、服务、OS 指纹识别、主机名、MAC 地址、供应商信息和防火墙检测。
由一位网络无政府主义者构建,他认为安全工具应该对其功能和所服务的对象保持诚实。
## 功能
- **自动网络检测** —— 无需手动输入你的 IP 范围
- **主机发现** —— ping 你子网上的所有 254 台主机
- **端口扫描** —— 多线程 TCP 扫描以提高速度
- **服务检测** —— 识别开放端口上的服务
- **Banner 抓取** —— 在可用时读取服务 banner
- **OS 指纹识别** —— 通过 TTL 分析猜测 OS
- **主机名解析** —— 反向 DNS 查询
- **MAC 地址查询** —— 从 `/proc/net/arp` 读取
- **供应商查询** —— 通过 MAC API 识别制造商
- **防火墙检测** —— 检测被过滤的端口并进行汇总
- **进度条** —— 实时扫描进度
- **彩色输出** —— 绿色表示开放,红色表示被过滤
- **Ctrl+C 支持** —— 优雅地中断
## 要求
- Python 3.x
- Linux(使用 `/proc/net/arp` 进行 MAC 查询)
- 互联网连接(通过 `api.macvendors.com` 查询供应商)
## 用法
```
python3 PyScanner.py
```
无需参数。扫描器会自动检测你的网络并开始扫描。
## 示例输出
```
___ _ _ ____ ____ ____ _ _ _ _ ____ ____
|__] \_/ [__ | |__| |\ | |\ | |___ |__/
| | ___] |___ | | | \| | \| |___ | \
Scan has begun...
192.168.1.1 - _gateway - Linux/Mac - aa:bb:cc:dd:ee:ff - XEROX CORPORATION
53 - domain - no banner
80 - http - no banner
443 - https - no banner
192.168.1.105 - myphone - Linux/Mac - ff:ee:dd:cc:bb:aa - Apple, Inc.
146 ports filtered
192.168.1.202 - unknown - Network Device - 18:69:d8:xx:xx:xx - Tuya Smart Inc.
42 ports filtered
[██████████████████████████████████████████████████] 100%
Scan has ended...
6 hosts were down
The scan took 62 seconds
```
## 工作原理
1. 使用 `socket` 自动检测你的本地 IP
2. 通过 `os.system` ping `/24` 子网中的每台主机
3. 从 ping 输出中获取 TTL 以进行 OS 指纹识别
4. 读取 `/proc/net/arp` 获取 MAC 地址
5. 从 `api.macvendors.com` 查询供应商
6. 使用多线程 TCP socket 扫描端口
7. 尝试在开放端口上进行 banner 抓取
8. 通过 `socket.timeout` 检测被过滤的端口
9. 按主机分组打印彩色结果
## 限制
- MAC 供应商查询可能会受到免费 API 的速率限制
- 通过 TTL 进行的 OS 检测是近似的,并非绝对准确
- 仅限 Linux
- 你自己机器的 MAC 可能会显示为 `unknown`
## 法律声明
请仅在拥有所有权或获得明确扫描许可的网络上使用 PyScanner。未经授权的网络扫描在你所在的司法管辖区可能是非法的。未经同意的安全测试即为监控。
## 作者
由 [SagiHacky](https://github.com/SagiHacky) 制作 · they/them · 网络无政府主义者 · `@legolymas:matrix.org`
标签:Facebook API, Python, 插件系统, 数据统计, 无后门, 检测规则, 端口扫描, 网络扫描器, 网络资产发现, 逆向工具