h14m/python-port-scanner
GitHub: h14m/python-port-scanner
一个基于 Python Socket 编程的轻量级 TCP 端口扫描器,用于检测目标主机开放端口并识别常见服务,适合网络安全学习与基础侦察。
Stars: 0 | Forks: 0
# Python 端口扫描器
一个基于 Python 的网络侦察工具,用于扫描目标主机的开放 TCP 端口,并识别这些端口上运行的常见服务。
## 概述
开发此项目旨在理解以下基础知识:
- TCP/IP 网络通信
- Socket 编程
- 端口扫描技术
- 服务枚举
- 网络安全侦察
该扫描器会尝试连接目标主机上指定范围的端口,并报告哪些端口处于开放状态。
## 功能
- 扫描自定义 IP 地址或主机名
- 指定起始和结束端口范围
- 检测开放的 TCP 端口
- 识别常见服务(SSH、HTTP、HTTPS 等)
- 将扫描结果保存到报告文件中
- 简单的命令行界面
## 使用技术
- Python 3
- Socket 编程
- TCP 网络通信
## 项目结构
```
python-port-scanner/
│
├── port_scanner.py
├── scan_results.txt
├── README.md
└── requirements.txt
```
## 安装说明
克隆仓库:
```
git clone https://github.com/h14m/python-port-scanner.git
```
进入项目文件夹:
```
cd python-port-scanner
```
## 使用说明
运行扫描器:
```
python3 port_scanner.py
```
示例:
```
Enter target IP or hostname: 127.0.0.1
Enter start port: 1
Enter end port: 100
```
## 输出示例
```
Scanning 127.0.0.1
--------------------------------------------------
OPEN : Port 22 (ssh)
OPEN : Port 80 (http)
Results saved to scan_results.txt
```
## 生成的报告
扫描器会自动创建一个报告文件:
```
scan_results.txt
```
示例:
```
Target: 127.0.0.1
OPEN : Port 22 (ssh)
OPEN : Port 80 (http)
```
## 学习成果
通过这个项目,我获得了以下方面的实践经验:
- 网络侦察
- Socket 编程
- TCP 连接处理
- 服务识别
- Python 自动化
- 基础的网络安全扫描技术
## 未来改进
- 多线程扫描以提升性能
- Banner 抓取
- 服务指纹识别
- 导出 CSV/JSON 报告
- 集成漏洞查询
- Web 仪表盘
## 免责声明
本项目仅供教育目的和授权的安全测试使用。在扫描您不拥有或未获授权管理的系统之前,请务必获得适当的权限。
## 作者
Mahi Honnagol
网络安全爱好者 | SOC 分析师候选人 | Python 开发者