musabX44/net-eye-scanner
GitHub: musabX44/net-eye-scanner
NetEye 是一款基于 Python 标准库编写的多线程网络端口扫描器,支持灵活的目标配置、SSL/TLS Banner 抓取及 JSON 格式结果导出。
Stars: 1 | Forks: 0
# NetEye — 快速多线程网络扫描器
一个使用 Python 编写的快速高效的多线程端口扫描器。支持单个 IP、域名和 CIDR 网络范围,并提供 SSL/TLS banner 抓取和服务检测等高级功能。
**许可证:** MIT
## 功能
- 🚀 **多线程扫描** - 可配置线程数以实现更快的扫描
- 🌐 **灵活的目标输入** - 支持单个 IP、主机名和 CIDR 表示法
- 🎯 **自定义端口选择** - 扫描特定端口、范围或常用端口列表
- 🏷️ **高级 banner 抓取** - 包括 HTTPS 在内的被动和主动服务识别
- 📊 **详细输出** - 显示所有端口状态或仅显示开放端口
- 💾 **JSON 导出** - 保存详细的扫描结果以供进一步分析
- ⚡ **快速扫描** - 具有可配置超时的优化 TCP 连接扫描
- 🔒 **SSL/TLS 支持** - 检测加密端口(HTTPS、SMTPS 等)上的服务
## 功能详解
### Banner 抓取方法
此扫描器使用三种复杂的方法来识别服务:
1. **被动 banner 抓取** - 监听来自 SSH、FTP 和 SMTP 等服务的自动响应
2. **主动 HTTP 探测** - 向 Web 服务(端口 80、8080、8000)发送 HTTP HEAD 请求
3. **SSL/TLS 握手** - 对端口 443 上的加密连接进行特殊处理,以提取证书和 Server 头信息
## 安装说明
### 前置条件
- Python 3.6+
- 无需外部依赖(仅使用标准库)
### 克隆与设置
```
git clone https://github.com/musabX44/net-eye-scanner.git
cd net-eye-scanner
```
## 使用说明
### 基础扫描
扫描单个 IP:
```
python neteye.py 192.168.1.1
```
扫描域名:
```
python neteye.py example.com
```
扫描 CIDR 网络:
```
python neteye.py 192.168.1.0/24
```
### 高级选项
#### 扫描特定端口:
```
# 扫描特定 ports
python neteye.py 192.168.1.1 -p 22,80,443
# 扫描 port 范围
python neteye.py 192.168.1.1 -p 1-1024
# 扫描常用 ports
python neteye.py 192.168.1.1 -p top
```
#### 调整线程:
```
# 使用 100 个 threads 加速扫描
python neteye.py 192.168.1.1 -t 100
```
#### 启用服务检测:
```
# 尝试从开放 ports 抓取 banners
python neteye.py 192.168.1.1 -sV
```
#### 详细输出:
```
# 显示所有 ports(开放和关闭)
python neteye.py 192.168.1.1 -v
```
#### 将结果保存为 JSON:
```
# 将结果导出到 JSON 文件
python neteye.py 192.168.1.1 -oJ results.json
```
#### 组合选项:
```
python neteye.py 192.168.1.0/24 -p 1-65535 -t 200 -sV -v -oJ network_scan.json
```
### 帮助与版本
```
# 显示帮助信息
python neteye.py -h
# 显示版本
python neteye.py -V
```
## 命令行选项
| 选项 | 简写 | 全写 | 描述 |
|--------|-------|------|-------------|
| target | - | - | 目标 IP、域名或 CIDR 网络(必填) |
| ports | -p | --ports | 要扫描的端口(默认:1-1000) |
| threads | -t | --threads | 并发线程数(默认:50) |
| service | -sV | --service | 尝试检测服务版本/banner |
| output | -oJ | --output | 将结果保存到 JSON 文件 |
| verbose | -v | --verbose | 显示所有端口状态,包括关闭的端口 |
| version | -V | --version | 显示版本信息 |
## 输出格式
### 控制台输出
```
======================================================================
NetEye Scan Started
Targets: 1 IP(s) | Ports to scan: 20 | Threads: 50
======================================================================
[*] Scanning 192.168.1.1...
|__ Port 22 | State: OPEN (OpenSSH 7.4)
|__ Port 80 | State: OPEN (Apache/2.4.6)
|__ Port 443 | State: OPEN (nginx/1.14.0)
======================================================================
Scan completed. Elapsed time: 12.45 seconds.
======================================================================
```
### JSON 输出
```
{
"192.168.1.1": [
{
"port": 22,
"status": "OPEN",
"service": "OpenSSH 7.4"
},
{
"port": 80,
"status": "OPEN",
"service": "Apache/2.4.6"
},
{
"port": 443,
"status": "OPEN",
"service": "nginx/1.14.0"
}
]
}
```
## 示例
### 扫描局域网中的常见服务并进行 banner 检测
```
python neteye.py 192.168.1.0/24 -p top -t 100 -sV
```
### 带详细输出的完整网络审计
```
python neteye.py 10.0.0.0/24 -p 1-65535 -t 500 -sV -v -oJ full_audit.json
```
### 对单个服务器的快速检查
```
python neteye.py example.com -p 22,80,443,8080,3306
```
### 具有高线程数的激进扫描
```
python neteye.py 192.168.0.0/16 -p 1-10000 -t 1000 -sV -oJ results.json
```
## 常用端口列表
当使用 `-p top` 时,将扫描以下端口:
```
21, 22, 23, 25, 53, 80, 110, 111, 135, 139, 143, 443, 445, 993, 995, 1723, 3306, 3389, 5900, 8080
```
## 性能提示
- **增加线程数**以加快扫描速度:`-t 200` 或更高(取决于系统资源)
- **扫描特定端口**而不是大范围端口,以节省时间
- **使用常用端口列表**进行快速侦察:`-p top`
- 在扫描大型网络时**禁用详细模式**以加快输出速度
## 支持的服务
NetEye 可以通过 banner 抓取识别以下服务:
- SSH(端口 22)
- HTTP/HTTPS(端口 80、443、8080、8000)
- FTP(端口 21)
- SMTP(端口 25)
- DNS(端口 53)
- POP3(端口 110、995)
- IMAP(端口 143、993)
- SMB(端口 139、445)
- MySQL(端口 3306)
- RDP(端口 3389)
- VNC(端口 5900)
- 以及更多...
## 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
**这意味着:**
- ✅ 您可以将其用于商业用途
- ✅ 您可以修改和分发它
- ✅ 您可以将其包含在闭源项目中
- ✅ 您可以派生并回馈贡献
- ✅ 必须保留版权和许可声明
- ❌ 无任何担保或责任
## 免责声明
⚠️ **重要提示**:此工具旨在对您拥有或获得测试许可的系统进行合法的安全测试。未经授权的端口扫描在您所在的司法管辖区可能是非法的。在扫描非您拥有的网络之前,请务必获得适当的授权。
## 作者
由 [musabX44](https://github.com/musabX44) 创建
## 支持
如有任何问题、疑问或建议,请在 GitHub 上提出一个 [issue](https://github.com/musabX44/net-eye-scanner/issues)。
**祝您扫描愉快!** 🎯
标签:Banner抓取, Python, 并发处理, 插件系统, 数据统计, 无后门, 服务器安全, 端口扫描, 网络扫描器, 逆向工具