manasvikavankar/port-scanner-python
GitHub: manasvikavankar/port-scanner-python
一个基于 Python socket 模块的初学者级 TCP 端口扫描器,帮助用户快速识别目标主机上指定端口范围内的开放端口及关联服务。
Stars: 0 | Forks: 0
# 基础端口扫描器 (Python)
一个适合初学者的 TCP 端口扫描器,使用 Python 的 `socket` 模块构建。该项目会扫描目标 IP 地址或主机名上指定范围的 TCP 端口,并识别开放的端口及其关联的服务。
## 功能
* 扫描自定义范围的 TCP 端口
* 接受 IP 地址和主机名
* 显示开放的端口和检测到的服务
* 验证 IP 地址和端口范围
* 显示实时扫描进度
* 显示扫描摘要
* 将结果保存到 `scan_results.txt`
* 优雅地处理无效输入和网络错误
## 使用技术
* Python 3
* `socket` 模块
* `time` 模块
## 项目结构
```
port-scanner-python/
│
├── main.py # Main port scanner program
├── README.md # Project documentation
└── .gitignore # Ignored files
```
## 工作原理
1. 输入目标 IP 地址或主机名。
2. 输入起始和结束端口号。
3. 扫描器尝试与每个端口建立 TCP 连接。
4. 显示开放的端口及其服务名称。
5. 扫描完成后显示摘要。
6. 结果自动保存到 `scan_results.txt`。
## 示例
```
========================================
BASIC PORT SCANNER
========================================
Enter IP Address or Hostname: 127.0.0.1
Enter Start Port: 7990
Enter End Port: 8005
Scanning ports...
Port 8000 : OPEN (UNKNOWN)
========================================
SCAN SUMMARY
========================================
Target : 127.0.0.1
Resolved IP : 127.0.0.1
Ports Scanned : 16
Open Ports : 1
Scan Time : 3.24 seconds
========================================
```
## 如何运行
克隆仓库:
```
git clone https://github.com/manasvikavankar/port-scanner-python.git
cd port-scanner-python
```
运行程序:
```
python main.py
```
## 未来改进
* 多线程扫描以提升性能
* UDP 端口扫描
* Banner grabbing
* 将结果导出为 CSV 或 JSON
* 命令行参数
* 彩色终端输出
## 作者
**Manasvi Kavankar**
GitHub:
标签:Python, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 网络工具, 隐私保护