功能强大的多线程端口扫描工具,支持批量 IP 扫描、多种端口格式输入、扫描结果美化导出,适用于网络安全检测与端口监控场景
工具介绍
PortScanner - 多线程端口扫描工具,一款功能强大的多线程端口扫描工具,支持批量 IP 扫描、多种端口格式输入、扫描结果美化导出,适用于网络安全检测与端口监控场景。
🌟 功能特性
- 🔍 灵活的扫描目标:支持单个 IP 或从文件批量导入 IP 列表(支持注释行)
- 🔌 多样化端口指定:支持单个端口、端口范围(如 1-100)、多端口组合(如 80,443,3306)及从文件读取
- 🚀 多线程加速:可自定义线程数量(1-100),大幅提升扫描效率
- 📊 直观结果展示:彩色终端输出,清晰区分开放端口与端口描述
- � Excel 精美导出:自动生成格式化 Excel 报告,包含端口详情与状态,支持自动调整列宽与冻结表头
- 🔖 端口描述库:通过
port.ini
文件加载端口服务信息,未知端口自动标记 - ⏱️ 超时控制:可自定义连接超时时间,平衡扫描速度与准确性
- 🧹 智能去重:自动处理重复 IP 与端口,避免无效扫描
- 🌐 跨平台支持:兼容 Windows、Linux 与 macOS 系统
📖 使用说明
命令格式
python PortScanner.py [IP参数] [端口参数] [可选参数]
核心参数
参数 | 说明 | 示例 |
---|---|---|
-ip | 指定单个 IP 地址 | -ip 192.168.1.1 |
-ip-list | 从文件读取 IP 列表(支持 #注释) | -ip-list ips.txt |
-p | 指定端口(单个 / 范围 / 多个) | -p 80 或 -p 1-100 或 -p 80,443 |
-p-list | 从文件读取端口列表(支持 #注释) | -p-list ports.txt |
-t | 超时时间(秒),默认 3 秒 | -t 5 |
-threads | 线程数量(1-100),默认 5 个 | -threads 20 |
使用示例
- 扫描单个 IP 的指定端口
python PortScanner.py -ip 192.168.1.1 -p 80,443,3306 -threads 10
- 从文件读取 IP 列表,扫描端口范围
python PortScanner.py -ip-list ips.txt -p 1-1000 -t 4 -threads 15
- 扫描单个 IP 的常用端口(从文件读取)
python PortScanner.py -ip 8.8.8.8 -p-list
📋 输出说明
-
终端输出:
- 彩色区分不同类型信息(IP、端口描述、状态)
- 实时显示扫描进度
- 汇总统计开放端口数量与耗时
- 按 IP 分组展示开放端口详情
-
Excel 报告:
- 自动生成不重复文件名(如
result.xlsx
、result_1.xlsx
) - 包含目标地址、IP、端口、端口描述、状态等字段
- 美化样式:表头蓝色背景、偶数行灰色底色、边框线条
- 自动调整列宽,冻结表头方便浏览
- 自动生成不重复文件名(如
工具下载
https://github.com/Bifishone/PortScanner