Ashu-ye/host-scanner
GitHub: Ashu-ye/host-scanner
一款基于 Python 的跨平台多线程网络发现工具,用于快速扫描本地子网中的活跃主机及其开放端口。
Stars: 0 | Forks: 0
# 🔍 高级多线程网络发现扫描器
一个快速、轻量级且跨平台的 Python CLI 工具,用于本地子网发现。它结合了 **ICMP Ping**、**ARP MAC/厂商检测**、**反向 DNS 查询**和**多端口探测**,在富终端界面内映射活跃的网络主机。
## ✨ 功能
- **🚀 双引擎发现 (ICMP + ARP):** 结合使用 ICMP ping 和 Scapy ARP 请求来捕捉隐蔽的主机(例如,丢弃 ICMP 回显请求的 Windows 机器)。
- **⚡ 快速多线程:** 利用工作线程在几秒钟内扫描整个 `/24` 子网(254 个主机 IP)。
- **🏷️ 主机名解析:** 通过反向 DNS 查询自动解析本地主机名。
- **🔌 服务端口探测:** 检查常见的管理和 Web 端口(`21`、`22`、`80`、`443`、`445`、`3389`、`8080`)以识别正在运行的服务。
- **📊 富终端 UI:** 由 `rich` 提供支持的实时进度条和简洁的表格格式化。
- **🌐 跨平台:** 自动适配 Linux、macOS 和 Windows 上的 ping 参数。
## 📋 前置条件
确保您的系统已安装 Python 3.8+。
### 必需依赖
使用 `pip` 安装必需的包:
```
pip install rich scapy
```
注意:原始套接字操作和 ARP 数据包构造(通过 scapy)需要管理员/root 权限。
## 🚀 快速开始
### 1.克隆仓库:
```
git clone https://github.com/Ashu-ye/host-scanner.git
```
### 2. 赋予可执行权限:
```
chmod +x host_scanner.py
```
### 3. 运行脚本;
```
sudo ./host_scanner.py
```
## 🛠️ 工作原理
1. 子网检测:动态检测您的本地基础 IPv4 子网(例如,192.168.1.)。
2. 任务排队:将 IP 地址 1 到 254 加入队列。
3. 多线程执行:40 个工作线程获取 IP,发送跨平台 ICMP ping,并在 ICMP 失败时回退到 ARP 请求。
4. 信息扩充:对响应的主机执行反向 DNS 查询和针对性的端口扫描。
5. 报告生成:在实时的、带有颜色区分的 CLI 表格中显示结果。
⚖️ 许可证
本项目是开源的,基于 MIT 许可证发布。
标签:ARP, ICMP, Python, 云存储安全, 域名过滤, 插件系统, 数据统计, 无后门, 端口扫描, 网络扫描, 逆向工具