makhtar123/python-multi-threaded-portscanner
GitHub: makhtar123/python-multi-threaded-portscanner
一个基于 Python 的多线程网络端口扫描工具,支持 TCP Connect、SYN 半开放和 UDP 扫描,并具备服务识别与主机发现功能。
Stars: 0 | Forks: 0
# Python 多线程端口扫描器
使用 Python 构建的多线程网络侦察工具。它执行标准的 TCP Connect 扫描和隐蔽的 SYN(半开放)扫描,使用 Scapy 进行原始数据包操作。
## 功能
* **混合扫描:** 支持完整的 TCP Connect(三次握手)和隐蔽 SYN 扫描。
* **多线程:** 使用生产者-消费者模式(Queue)并发扫描端口,实现高性能。
* **服务枚举:** 执行主动 banner 抓取以识别运行中的服务。
* **主机发现:** 实现智能"组合检查"(ICMP + TCP 80 + TCP 443)来检测防火墙后的存活主机。
## 安装
1. 克隆仓库:
git clone https://github.com/makhtar123/python-multi-threaded-portscanner.git
cd python-multi-threaded-portscanner
2. 安装依赖:
pip install -r requirements.txt
## 使用方法
**注意:** 必须使用 sudo 或以 root 身份运行应用程序,因为 scapy 需要 sudo/root 权限。
### 1. 标准 Connect 扫描(安全模式)
```
sudo python netscan.py -t 192.168.1.1 -sT
```
### 2. 隐蔽 SYN 扫描 + Banner 抓取
```
sudo python netscan.py -t 192.168.1.1 -sV
```
### 3. UDP 扫描
```
sudo python netscan.py -t 192.168.1.1 -sU
```
### 3. 扫描特定端口范围
```
sudo python netscan.py -t 192.168.1.1 -sp 1 -ep 80
```
### 4. 扫描端口列表
```
sudo python netscan.py -t 192.168.1.1 -p 1 2 3 4
```
### 参数
| 标志 | 长标志 | 描述 | 必需 |
| :--- | :--- | :--- | :---: |
| `-t` | `--target` | 要扫描的目标 IP 地址。 | **是** |
| `-p` | `--ports` | 要扫描的特定端口列表(例如 `-p 21 80 443`)。 | 否 |
| `-sp` | `--startport` | 范围扫描的起始端口。 | 否 |
| `-ep` | `--endport` | 范围扫描的结束端口。 | 否 |
| `-sT` | `--connect` | 执行完整的 TCP Connect 扫描(无需 sudo)。 | 否 |
| `-sU` | `--udpscan` | 执行 UDP 扫描(需要 sudo) | 否 |
| `-sV` | `--serviceversion` | 启用主动 banner 抓取。 | 否 |
| `-Pn` | `--noping` | 跳过主机发现(适用于防火墙)。 | 否 |
| `-T` | `--threads` | 设置线程数(默认值:100)。 | 否 |
## 免责声明
此工具仅用于教育目的和授权的安全测试。开发者不对因此工具造成的任何滥用或损害负责。在扫描非您所有的网络之前,请务必获得许可。
标签:Banner抓取, Groq, Python, Qt框架, Scapy, SYN扫描, TCP扫描, 云存储安全, 半开放扫描, 域名解析, 开源软件, 插件系统, 数据泄露防护, 数据统计, 无后门, 服务器安全, 服务识别, 端口扫描, 网络安全, 网络工具, 网络扫描, 网络探测, 逆向工具, 隐私保护