jasim-jazz/python-port-scanner
GitHub: jasim-jazz/python-port-scanner
一个使用 Python 构建的多线程端口扫描器,支持横幅抓取与服务检测,专为网络侦察与学习设计。
Stars: 0 | Forks: 0
# 高级 Python 端口扫描器
一个使用 Python 构建的强大快速 **多线程端口扫描器**,支持 **横幅抓取**、**服务检测** 和 **基于 CLI 的自定义**。
本工具专为 **网络安全领域的网络侦察** 与学习设计。
## 功能
* 多线程扫描(高性能)
* 扫描自定义端口范围
* 基础服务检测(常见端口)
* 横幅抓取(识别运行中的服务)
* 使用 argparse 解析 CLI 参数
* 将扫描结果保存到文件
* 简洁清晰的输出
## 要求
* Python 3.x
* 无需外部库(仅使用内置模块)
## 安装
```
git clone https://github.com/YOUR_USERNAME/python-port-scanner.git
cd python-port-scanner
```
## 用法
```
python3 scanner.py [options]
```
## 参数说明
| 参数 | 描述 |
| ----------- | ------------------------ |
| `target` | 目标 IP 地址或域名 |
| `-p, --ports` | 端口范围(默认:1-1000) |
| `-t, --threads` | 线程数量(默认:100) |
| `-o, --output` | 将结果保存到文件 |
## 示例
### 🔹 基础扫描
```
python3 scanner.py scanme.nmap.org
```
### 🔹 扫描特定端口范围
```
python3 scanner.py scanme.nmap.org -p 1-2000
```
### 🔹 提升速度(增加线程)
```
python3 scanner.py scanme.nmap.org -t 200
```
### 🔹 将输出保存到文件
```
python3 scanner.py scanme.nmap.org -o results.txt
```
### 🔹 完整示例
```
python3 scanner.py scanme.nmap.org -p 1-1000 -t 200 -o scan.txt
```
## 工作原理
1. 接收目标(IP/域名)
2. 使用多线程扫描端口
3. 识别开放端口
4. 尝试横幅抓取
5. 映射常见服务(HTTP、SSH 等)
6. 显示并可选择保存结果
## 示例输出
```
[+] Port 80 OPEN | Service: HTTP
Banner: HTTP/1.1 200 OK
[+] Port 22 OPEN | Service: SSH
Banner: SSH-2.0-OpenSSH_8.2p1 Ubuntu
```
## 免责声明
本工具仅供 **教育用途**。
* 仅扫描您拥有的系统
* 或获得明确授权进行测试
未经授权的扫描行为是违法的。
## 作者
**Mohamed Jasim**
* 网络安全爱好者
* 漏洞赏金学习者
## 后续改进计划
* TCP SYN 扫描(使用 Scapy)
* 服务版本检测
* 彩色输出
* 进度条
* 操作系统指纹识别
## 如果你喜欢这个项目
在 GitHub 上给它一个 ⭐!
标签:Banner抓取, DNS枚举, DNS查询工具, Linux工具, Python, XML 请求, 二进制发布, 安全开发, 开源工具, 异步IO, 数据统计, 无后门, 服务检测, 端口扫描, 端口扫描器, 端口扫描工具, 端口探测, 端口探测工具, 网络安全, 网络安全工具, 网络工具, 轻量级扫描器, 逆向工具, 隐私保护