NaodBrhane2738/PortPY

GitHub: NaodBrhane2738/PortPY

PortPY 是一个基于 Python 的多线程端口扫描器,具备 Banner 抓取和风险提示功能,帮助安全人员快速发现目标开放端口及服务信息。

Stars: 0 | Forks: 0

# PortPY PortPY 是一个用 Python 编写的高级端口扫描器。它对目标主机执行多线程端口扫描,尝试从开放端口获取服务 Banner,并为常见的易受攻击服务提供安全上下文说明。该工具支持命令行界面 (CLI) 和基于文本的交互式用户界面 (TUI) 两种模式。 ## 安装 1. 确保您的系统已安装 Python 3。 2. 克隆此代码库: git clone https://github.com/NaodBrhane2738/PortPY.git cd PortPY 3. (可选)安装 Colorama 以获得增强的跨平台彩色输出: pip install colorama 注意:如果没有 Colorama,该工具将使用 ANSI 转义码正常运行。 ## 使用说明 ### 命令行模式 使用命令行参数运行 PortPY 以进行快速扫描: ``` python3 portpy.py [options] ``` #### 选项: - `target`:目标 IP 地址或主机名(在 CLI 模式下为必填项) - `-s, --start`:起始端口(默认:1) - `-e, --end`:结束端口(默认:1024) - `-t, --threads`:并发线程数(默认:50) - `--timeout`:Socket 超时时间(秒)(默认:1.0) - `--delay`:端口检查之间的延迟时间(秒)(默认:0) - `-o, --output`:将结果保存到文件(.txt 或 .json) ### CLI 功能 PortPY 被设计为一个“混合”脚本,可根据提供的参数自动检测是以交互模式还是命令行模式运行。 #### 运行交互模式 如果未指定目标,PortPY 将启动基于文本的交互式界面: ``` python3 portpy.py ``` #### 命令行扫描示例 **超快速扫描**(使用高线程数以提高速度): ``` python3 portpy.py scanme.nmap.org -s 1 -e 10000 -t 100 ``` **隐蔽扫描**(低线程,数据包发送间有延迟,并导出为 JSON): ``` python3 portpy.py 192.168.1.1 --delay 0.5 -t 5 -o stealth_results.json ``` #### 更多示例: ``` # Scan localhost 的 1-1000 端口 python3 portpy.py localhost -e 1000 # 使用自定义 threads 进行 Scan 并保存为 JSON python3 portpy.py example.com -s 20 -e 100 -t 100 -o results.json # Scan 常见端口并加入 delay 以避免 rate limiting python3 portpy.py target.com --delay 0.1 -o scan.txt ``` ### 交互模式 运行 PortPY 而不添加任何参数以进入交互模式: ``` python3 portpy.py ``` 在交互模式下,系统会提示您输入: - 目标 IP/主机名 - 端口范围(起始和结束) - 线程数 - 是否将结果保存到文件 ### 功能 - **多线程扫描**:快速并发端口检查 - **Banner 抓取**:尝试从开放端口获取服务 Banner - **安全上下文**:提供关于常见端口潜在安全风险的说明 - **进度跟踪**:扫描期间实时显示进度 - **输出格式**:将结果保存为纯文本或 JSON - **跨平台**:支持 Windows、Linux 和 macOS - **彩色输出**:使用颜色增强终端输出显示(可选) ### 安全提示 - 请负责任地使用此工具,且仅限于您拥有或已获授权扫描的系统 - 某些服务可能会记录连接尝试 - 请注意您所在司法管辖区内与端口扫描相关的法律影响
标签:Banner抓取, DNS枚举, DNS查询工具, DNS解析, Port Scanner, Python, Qt框架, TUI交互界面, 云存储安全, 开源项目, 插件系统, 无后门, 服务识别, 端口扫描器, 系统独立性, 网络安全工具, 网络扫描, 逆向工具