AnassElhamri/port-scanner
GitHub: AnassElhamri/port-scanner
一个基于 Python 标准库的轻量级多线程端口扫描器,专为网络侦察和渗透测试练习设计,支持 Banner 抓取和风险等级评估。
Stars: 0 | Forks: 0
# 端口扫描器
一个用 Python 编写的快速多线程端口扫描器。专为网络侦察和渗透测试练习而构建。无外部依赖,仅使用 Python 标准库。
已针对 scanme.nmap.org 进行测试,这是由 Nmap 项目专门为此目的维护的主机。
## 功能特性
- 支持高达 1000 个并发线程的多线程扫描
- Banner 抓取,用于识别每个开放端口上运行的服务
- 对每个开放端口进行风险评估(严重、高、中、低)
- 彩色终端输出,带有实时进度条
- 将结果导出为 JSON 或 TXT 报告文件
- 端口范围预设:common (1-1024)、all (1-65535)、web (80-8443)
- 自动将主机名解析为 IP
- 静默模式,用于简洁输出或通过管道传输到其他工具
## 环境要求
Python 3.10 或更高版本。无需第三方包。
## 快速开始
```
git clone https://github.com/AnassElhamri/port-scanner.git
cd port-scanner
python port_scanner.py --help
```
## 使用方法
```
# 扫描目标上的常用端口 (1-1024)
python port_scanner.py scanme.nmap.org
# 扫描自定义端口范围
python port_scanner.py scanme.nmap.org -p 1-65535
# 使用 preset
python port_scanner.py scanme.nmap.org -p all
# 使用更多线程和更低 timeout 进行更快扫描
python port_scanner.py scanme.nmap.org -p common -w 1000 -t 0.8
# 将报告保存为 JSON
python port_scanner.py scanme.nmap.org -o report.json
# 将报告保存为文本文件
python port_scanner.py scanme.nmap.org -o report.txt
# 跳过 banner grabbing (更快)
python port_scanner.py scanme.nmap.org --no-banner
# Quiet 模式,仅打印开放端口
python port_scanner.py scanme.nmap.org -q
```
## 选项
| 选项 | 描述 |
|------|------|
| target | 要扫描的主机名或 IP 地址 |
| -p, --ports | 端口范围:1-1024、common、all、web(默认值:common) |
| -t, --timeout | 连接超时时间(秒)(默认值:1.0) |
| -w, --workers | 线程数(默认值:500) |
| --no-banner | 跳过 banner 抓取 |
| -o, --output | 保存报告到文件(.json 或 .txt) |
| -q, --quiet | 隐藏 banner 和进度,输出原始结果 |
## 端口范围预设
| 预设 | 范围 | 用例 |
|------|------|------|
| common | 1-1024 | 标准知名端口 |
| all | 1-65535 | 完整扫描 |
| web | 80-8443 | 仅 Web 服务 |
## 风险等级
每个开放端口根据常见攻击向量被分配一个风险等级。
| 等级 | 示例 |
|------|------|
| Critical(严重) | Telnet (23)、SMB (445)、RDP (3389)、Metasploit (4444) |
| High(高) | FTP (21)、MS-RPC (135)、MySQL (3306)、Redis (6379) |
| Medium(中) | SSH (22)、SMTP (25)、IMAP (143) |
| Low(低) | HTTP (80)、HTTPS (443)、DNS (53) |
## 法律声明
仅扫描您拥有或拥有明确扫描权限的目标。默认测试目标 scanme.nmap.org 由 Nmap 项目专门为此目的提供。未经授权的端口扫描在您所在的司法管辖区可能是非法的。
## 许可证
MIT
标签:AES-256, Banner Grabbing, C2日志可视化, DInvoke, DNS查询工具, Python, TCP扫描, 二进制发布, 密码管理, 开源工具, 指纹识别, 插件系统, 数据展示, 无后门, 标准库, 漏洞评估, 端口扫描器, 红队, 网络安全, 隐私保护