fernandoloposantiago/port-scanner
GitHub: fernandoloposantiago/port-scanner
一个用于学习计算机网络和信息安全基础的轻量级 Python TCP 端口扫描工具。
Stars: 0 | Forks: 1
# 🌐 端口扫描器 v1.0
## 🛡️ 使用 Python 开发的 TCP 端口扫描器
该项目旨在学习 **Python**、**计算机网络** 和 **信息安全**。
**开发者:Fernando José Lôpo Santiago**
## 📖 描述
**端口扫描器 v1.0** 是一个使用 Python 开发的教育工具,用于检查用户指定的 IP 地址或域名中预定义的 TCP 端口列表。
程序会尝试与每个端口建立连接,识别通常与该端口号关联的服务,并在扫描完成后提供最终摘要。
该项目是我在 **系统分析与开发** 和 **网络防御** 实践学习过程中的成果之一。
## ✨ 功能特性
- 扫描多个 TCP 端口
- 输入 IP 地址或域名
- 识别通常与端口关联的服务
- 区分开放端口和关闭端口
- 设置 Timeout 以限制每次尝试的时间
- 使用 `try` 和 `except` 进行错误处理
- 统计已扫描的端口数量
- 统计开放的端口数量
- 统计关闭的端口数量
- 测量总执行时间
- 提供扫描的最终摘要
## 🔎 扫描端口列表
| 端口 | 关联服务 |
|---|---|
| 21 | FTP |
| 22 | SSH |
| 23 | Telnet |
| 25 | SMTP |
| 53 | DNS |
| 80 | HTTP |
| 110 | POP3 |
| 143 | IMAP |
| 443 | HTTPS |
| 3306 | MySQL |
| 8080 | HTTP Alternativo |
## 🖥️ 运行示例
```
============================================================
PORT SCANNER v1.0
Desenvolvido por Fernando José Lôpo Santiago
============================================================
Digite o IP ou domínio: 127.0.0.1
❌ Porta 21 fechada - FTP
❌ Porta 22 fechada - SSH
❌ Porta 23 fechada - Telnet
❌ Porta 25 fechada - SMTP
❌ Porta 53 fechada - DNS
❌ Porta 80 fechada - HTTP
❌ Porta 110 fechada - POP3
❌ Porta 143 fechada - IMAP
❌ Porta 443 fechada - HTTPS
❌ Porta 3306 fechada - MySQL
❌ Porta 8080 fechada - HTTP Alternativo
============================================================
Resultado do SCAN
============================================================
Portas verificadas: 11
Portas abertas: 0
Portas fechadas: 11
Tempo total de execução: 11.08 segundos
```
## 📂 项目结构
```
port-scanner/
├── .gitignore
├── main.py
└── README.md
```
## 🛠️ 使用技术
- Python 3
- `socket` 库
- `time` 库
- Git
- GitHub
## 📚 学习到的概念
在开发该项目的过程中,我实践了以下内容:
- IPv4 地址
- 网络端口
- TCP 通信
- Sockets
- `AF_INET`
- `SOCK_STREAM`
- `settimeout()`
- `connect_ex()`
- 列表
- `for` 循环
- 字典
- `.get()` 方法
- 函数
- `return True` 和 `return False`
- 使用 `+= 1` 的计数器
- 使用 `try` 和 `except` 进行错误处理
- `if __name__ == "__main__"` 代码块
- 使用 `time.time()` 测量时间
## 🚀 运行说明
### 1. 克隆仓库
```
git clone https://github.com/fernandoloposantiago/port-scanner.git
```
### 2. 进入文件夹
```
cd port-scanner
```
### 3. 运行程序
```
python main.py
```
## ⚠️ 合法使用
该项目仅出于教育目的开发。
请仅在以下环境中使用此工具:
- 您自己的计算机;
- 您管理的系统;
- 学习实验室;
- 您获得明确授权进行测试的环境。
未经授权,请勿使用此工具扫描第三方系统。
## 👨💻 作者
**Fernando José Lôpo Santiago**
🎓 系统分析与开发专业学生
🛡️ 网络防御专业学生
🐍 使用 Python 和信息安全开发实践项目
## 🎯 后续改进
- 允许用户自定义选择端口
- 进一步优化用户输入验证
- 区分连接被拒绝和超时
- 将结果记录到文件中
- 添加扫描的日期和时间
- 编写自动化测试
- 提升扫描性能
## ⭐ 项目目标
巩固我在以下领域的知识:
- Python
- 计算机网络
- 信息安全
- 编程逻辑
- Git 和 GitHub
- 项目的组织与文档编写
## 感谢访问该项目!
欢迎提供技术反馈和改进建议。# port-scanner标签:Python, 插件系统, 教育项目, 数据统计, 无后门, 端口扫描, 系统分析, 网络分析, 网络安全, 隐私保护