waruna-2002/multi-threaded-port-scanner
GitHub: waruna-2002/multi-threaded-port-scanner
一个基于 Python 多线程的轻量级 TCP 端口扫描器,通过并发连接探测目标主机的开放端口。
Stars: 0 | Forks: 0
# 多线程 TCP 端口扫描器 (Python)
一个使用 Python 构建的高性能、轻量级多线程 TCP 端口扫描器。旨在通过 Python 的 `threading` 和 `queue` 模块进行并发执行,从而快速扫描目标 IP 地址或主机名上的开放端口。
## 功能特性
- 多线程加速:利用工作线程,扫描速度比单线程方法最高可提升 50 倍。
- 线程安全:实现 threading.Lock() 以防止在并发检查端口时出现输出损坏。
- 动态主机解析:自动将主机名(例如 scanme.nmap.org)解析为 IPv4 地址。
- 自定义端口范围:允许用户指定目标主机和自定义端口范围。
## 涉及的概念与技术
- Socket 编程:使用 socket.socket(socket.AF_INET, socket.SOCK_STREAM) 进行底层 TCP 连接握手。
- 并发与并行处理:threading 模块和线程池。
- 队列管理:使用 queue.Queue 进行同步的工作负载分配。
## 使用说明
1. 克隆仓库:
git clone https://github.com/YOUR_GITHUB_USERNAME/multi-threaded-port-scanner.git
cd multi-threaded-port-scanner
2. 运行脚本:
python3 port_scanner.py
3. 根据提示输入信息:
- 目标主机/IP
- 起始端口
- 结束端口
## 示例输出
# ============================================================
多线程 Python 端口扫描器
## [+] 输入目标主机/IP: 127.0.0.1
[+] 输入起始端口 (默认为 1): 1
[+] 输入结束端口 (默认为 1024): 100
## 扫描目标 : 127.0.0.1 (127.0.0.1)
端口范围 : 1 - 100
## [+] 端口 80 : 开放
```
SCAN COMPLETED
```
# 发现的开放端口 : [80]
耗时 : 0.2 秒
标签:Python, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 网络工具, 逆向工具, 隐私保护