SolderXploit/port_scanner

GitHub: SolderXploit/port_scanner

一个仅依赖 Python 标准库、无需 root 权限的轻量级 TCP 端口扫描器,支持多线程并发扫描与服务 banner 抓取。

Stars: 0 | Forks: 0

# 端口扫描器 一个使用纯 Python 编写的 TCP 端口扫描器 —— 不依赖 nmap,不依赖第三方库,仅使用 `socket` 模块。 专为 **@SolderXploit** YouTube 频道打造。 ## 功能 - TCP connect 扫描(`socket.connect_ex`) —— 无需 root 权限 - 端口输入:范围(`1-1000`)、列表(`22,80,443`)、混合(`22,80,100-200`)或 `common`(默认) - 通过 `socket.getservbyport()` 自动检测服务名 - 可选的 banner 抓取(`-b`) —— 读取服务在连接时发送的信息 - 使用 `concurrent.futures` 进行多线程处理 —— 即使在大型端口范围内也能保持快速 - 将结果保存到文件(`-o`) - 使用 argparse 实现简洁的 CLI —— 采用与 nmap 相同的 flag 规范 ## 环境要求 - Python 3.7 或更高版本 - 无需外部包 —— 仅需 Python 标准库 ## 安装 ### 选项 1 —— 克隆仓库 ``` git clone https://github.com/SolderXploit/port_scanner.git cd port_scanner ``` ### 选项 2 —— 直接下载文件 ``` curl -O https://raw.githubusercontent.com/SolderXploit/port_scanner/main/port_scanner.py ``` 或者直接从仓库下载 `port_scanner.py` 并将其保存到您计算机上的任意位置。 ## 用法 ``` python port_scanner.py -H [options] ``` ### Flags | Flag | 长格式 | 默认值 | 描述 | |------|-----------|---------|-------------| | `-H` | `--host` | 必填 | 目标 IP 地址或主机名 | | `-p` | `--ports` | `common` | 端口规格:`1-1000`、`22,80,443`、`22,80,100-200` 或 `common` | | `-t` | `--threads` | `100` | 并发线程数 | | `-T` | `--timeout` | `1.0` | 连接超时时间(秒) | | `-b` | `--banner` | off | 抓取服务 banner | | `-v` | `--verbose` | off | 同时显示关闭的端口 | | `-o` | `--output` | none | 将结果保存到文件 | ## 示例 ``` # 扫描常见端口(默认 — 无需 -p) python port_scanner.py -H 192.168.1.1 # 扫描端口范围 python port_scanner.py -H 192.168.1.1 -p 1-1000 # 扫描特定端口 python port_scanner.py -H 192.168.1.1 -p 22,80,443,8080 # 混合:特定 + 范围 python port_scanner.py -H 192.168.1.1 -p 22,80,100-200 # 抓取服务 banners python port_scanner.py -H 192.168.1.1 -p 1-1000 -b # 使用 200 个 threads 进行完整扫描 python port_scanner.py -H 192.168.1.1 -p 1-65535 -t 200 # 保存结果到文件 python port_scanner.py -H 192.168.1.1 -p 1-1000 -o results.txt # 通过主机名扫描 python port_scanner.py -H scanme.nmap.org -p 1-1000 ``` ## 示例输出 ``` ██████╗ ██████╗ ██████╗ ████████╗ ███████╗ ██████╗ █████╗ ███╗ ██╗ ... Python Port Scanner — @SolderXploit Target : 192.168.1.1 (192.168.1.1) Ports : common (24 ports) Threads : 100 Timeout : 1.0s | Banners: off Started : 2026-06-25 14:30:00 ─────────────────────────────────────────────────────── [+] 22 /tcp open ssh [+] 80 /tcp open http [+] 139 /tcp open netbios-ssn [+] 443 /tcp open https [+] 445 /tcp open microsoft-ds ─────────────────────────────────────────────────────── [*] 5 open port(s) found on 192.168.1.1 [*] Finished: 2026-06-25 14:30:02 ``` ## 法律声明 ## Python 渗透测试系列的一部分 —— @SolderXploit | 视频 | 工具 | |-------|------| | 视频 04 | 侦察工具 —— 子域名与目录枚举 | | 视频 05 | 通过 Telegram 实现的 Python C2 | | 视频 06 | 端口扫描器(本工具) |
标签:DNS枚举, Python, Socket编程, 插件系统, 数据统计, 无后门, 端口扫描, 系统独立性, 网络安全工具, 网络扫描器, 逆向工具