Victor-Murey/Pyscan-Project_Threaded-TCP-Port-Scanner
GitHub: Victor-Murey/Pyscan-Project_Threaded-TCP-Port-Scanner
一个基于纯 Python 的多线程 TCP 端口扫描器,旨在帮助学习者通过实践掌握 socket 编程与并发技术。
Stars: 0 | Forks: 0
# PyScan — 多线程 TCP 端口扫描器
一个使用纯 Python 构建的轻量级端口扫描器,旨在学习 socket
编程、TCP 握手和并发。对应 MITRE
ATT&CK **T1046**(网络服务发现)。
## ⚠️ 合法与合规使用
本工具仅供授权测试使用。请仅扫描您自己拥有
或已获得**明确书面许可**进行测试的系统。未经授权的
扫描可能违反《计算机欺诈和滥用法》及类似
法律。安全的练习目标:`127.0.0.1` 和 `scanme.nmap.org`。
## 功能
- 支持扫描单个端口、端口列表或端口范围(`22,80` 或 `1-1024`)
- 通过线程池实现并发扫描以提升速度
- 解析开放端口的服务名
## 用法
```
python3 scanner.py 127.0.0.1 --ports 1-1024
python3 scanner.py scanme.nmap.org --ports 22,80,443
```
## 学到了什么
- TCP socket 及 SYN/SYN-ACK/ACK 握手
- 为什么并发能加速 I/O 密集型任务
- 攻击者杀伤链中的侦察阶段——及其法律界限
## 进阶提升 - 值得尝试的扩展
核心功能已经跑通。现在来深化它——以下每一项都能让你学到实质性的东西:
- `Banner grabbing` - 连接后,接收服务发送的几个字节并将其打印出来。通常会暴露软件版本——这是真实侦察的下一步。
- `与 Nmap 对比` - 运行 nmap 127.0.0.1 并将其结果与你的结果进行 diff 对比。了解它们的差异所在,能让你明白简单的扫描器遗漏了什么(如被过滤的端口、UDP 等)。
- `UDP 扫描` - 添加针对 UDP 的模式,其行为与 TCP 完全不同。通过对比来学习这两种协议是个绝佳的方法。
- `JSON / 文件输出` - 添加 --output results.json,以便将结果导入其他工具。将工具串联起来正是自动化的思维方式。
- `进度条` - 针对大范围扫描显示进度。微小的打磨,巨大的易用性提升——而且如果在你的 README 中放进演示 GIF 里看起来会很棒。
标签:逆向工具