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 里看起来会很棒。
标签:逆向工具