jafayassine03/Port-scanner
GitHub: jafayassine03/Port-scanner
一个基于 Python 标准库的轻量级多线程 TCP 端口扫描器,用于快速探测目标主机的开放端口及常见服务。
Stars: 0 | Forks: 1
# Python 端口扫描器
一个使用 Python 构建的快速且轻量级的多线程端口扫描器。本项目用于扫描目标主机的开放 TCP 端口,并识别这些端口上运行的常见服务。
## 功能
* 多线程扫描以提升速度
* 支持扫描自定义的 TCP 端口范围
* 将主机名解析为 IP 地址
* 识别常见服务(HTTP、HTTPS、SSH、FTP 等)
* 将扫描结果保存到文本文件中
* 简单的命令行界面
* 仅使用 Python 的标准库构建
*
* 仅使用 Python 的标准库构建
## 环境要求
* Python 3.8 或更高版本
无需任何外部库。
## 安装
克隆仓库:
```
git clone https://github.com/yourusername/python-port-scanner.git
cd python-port-scanner
```
## 用法
运行扫描器:
```
python port_scanner.py
```
示例:
```
Enter IP address or hostname: scanme.nmap.org
Start Port: 1
End Port: 1000
```
扫描器将显示所有检测到的开放端口,并将结果保存到 `scan_results.txt` 中。
## 工作原理
1. 将目标主机名解析为 IP 地址。
2. 创建一个工作线程池。
3. 尝试连接到指定范围内的每个端口。
4. 报告所有开放的端口及其常见服务。
5. 将结果保存到文本文件中。
## 示例输出
```
==================================================
Simple Python Port Scanner
==================================================
Scanning 192.168.1.1...
[OPEN] 22 SSH
[OPEN] 80 HTTP
[OPEN] 443 HTTPS
==================================================
Scan Complete
==================================================
```
## 教育目的
本项目旨在学习 Python 网络、socket、线程以及基本的网络安全概念。
**请仅扫描您拥有或获得明确授权测试的系统。未经授权的扫描可能会违反法律或组织政策。**
## 未来改进
* Banner grabbing
* 进度条
* 导出为 JSON 或 CSV
* 彩色终端输出
* 扫描历史记录
* IPv6 支持
* UDP 端口扫描
* 服务版本检测
标签:Python, 插件系统, 数据统计, 无后门, 端口扫描, 系统独立性, 网络安全, 网络工具, 逆向工具, 隐私保护