shreekanthkapparagaon/network-scanner
GitHub: shreekanthkapparagaon/network-scanner
一个基于多线程的 Python CLI 网络扫描器,用于快速发现存活主机、测量延迟并进行 TCP 端口扫描。
Stars: 0 | Forks: 0
# 网络扫描器 (CLI 工具)
一个多线程 Python CLI 网络扫描器,可检测活动主机、测量延迟,并执行具有可配置超时和线程的 TCP 端口扫描。
## 功能
* 扫描 IP 范围以查找活动设备 (ICMP ping)
* 测量响应时间 (以毫秒为单位的延迟)
* 多线程扫描以提高速度
* TCP 端口扫描 (自定义端口)
* 可配置的超时时间
* 彩色 CLI 输出
* 辅助命令 (`--guide`、`--thread-info`)
## 安装说明
### 1. 克隆仓库
```
git clone https://github.com/shreekanthkapparagaon/network-scanner.git
cd network-scanner
```
### 2. 安装依赖
**选项 1 (推荐):**
```
pip install -r requirements.txt
```
**选项 2 (手动):**
```
pip install colorama
```
## 用法
### 基本扫描
```
python scanner.py --ip 192.168.1 --start 1 --end 50
```
### 使用多线程
```
python scanner.py --ip 192.168.1 --start 1 --end 100 --threads 100
```
### 使用端口扫描
```
python scanner.py --ip 192.168.1 --start 1 --end 50 --ports 22,80,443
```
### 使用超时
```
python scanner.py --ip 192.168.1 --start 1 --end 50 --timeout 0.5
```
### 显示指南
```
python scanner.py --guide
```
### 线程信息
```
python scanner.py --thread-info
```
## 参数
| Argument | Description |
| --------------- | --------------------------------------- |
| `--ip` | 基础 IP (例如,192.168.1) |
| `--start` | IP 范围的起始值 |
| `--end` | IP 范围的结束值 |
| `--threads` | 线程数 (默认值: 50) |
| `--timeout` | 超时时间,以秒为单位 (默认值: 1.0) |
| `--ports` | 逗号分隔的端口 (例如,22,80,443) |
| `--guide` | 显示使用指南 |
| `--thread-info` | 显示推荐的线程设置 |
## 示例输出
```
[+] 192.168.1.1 | 2.1 ms | Open: [80, 443]
[+] 192.168.1.5 | 10.4 ms | Open: [22]
[-] 192.168.1.6 | Timeout
```
## 项目结构
```
network-scanner/
│
├── scanner.py
├── README.md
└── requirements.txt
```
## 涉及的概念
* ICMP Ping (主机发现)
* TCP Socket 扫描
* 多线程 (ThreadPoolExecutor)
* CLI 参数解析 (argparse)
* 正则表达式 (延迟提取)
## 限制
* 某些设备阻止 ICMP (可能会显示为不活跃)
* 端口扫描是基础的 (无服务检测)
* 高线程数可能会降低性能
## 未来改进
* 导出结果 (CSV/JSON)
* 失败主机的重试机制
* 进度条
* 服务/版本检测
* GUI 界面
## 许可证
本项目是开源且免费使用的。
标签:Awesome, CLI, colorama, Facebook API, ICMP Ping, IP扫描, Python, TCP端口扫描, WiFi技术, 二进制发布, 局域网扫描, 延迟测量, 开源工具, 插件系统, 无后门, 系统管理, 网络勘测, 网络安全, 网络扫描器, 逆向工具, 隐私保护