MeghaSajeev03/Syntecxhub_Port_Scanner

GitHub: MeghaSajeev03/Syntecxhub_Port_Scanner

一款基于 Python 构建的高级并发 TCP 端口扫描器,支持服务解析、Banner 抓取以及将结果导出为结构化文件,旨在提供轻量且直观的网络资产探测体验。

Stars: 0 | Forks: 0

# 高级 TCP 端口扫描器 一款快速、并发且设计独特的 TCP 端口扫描器,使用 Python 构建的一个实习项目。 ## 高级功能 - **引人注目的 UI:** 包含酷炫的 ASCII 横幅和优雅、适合终端的彩色输出。 - **服务解析:** 自动将端口号解析为其常见服务名称(例如,`80 -> http`)。 - **Banner 抓取:** 使用 `-b` 标志智能地抓取服务 Banner 详情(例如,尝试读取 HTTP 标头或 SSH Banner)。 - **延迟追踪:** 测量并输出每个发现开放端口的连接延迟。 - **导出格式:** 支持使用 `-o` 标志自动将格式规整的扫描结果导出为 JSON 和 CSV 文件。 - **并发设置:** 使用 `concurrent.futures.ThreadPoolExecutor` 实现高速端口扫描。 - **灵活性:** 支持主机名解析、自定义多个范围、超时和线程等扫描选项。 - **日志清理:** 保持美观的彩色标准输出,同时确保文件日志中不包含 ANSI 转义码。 ## 前置条件 - Python 3.x(主要使用标准库构建) ## 使用方法 通过命令提示符/终端运行扫描器: ``` python port_scanner.py [options] ``` ### 位置参数: - `host`:要扫描的目标主机名或 IP 地址(例如,`google.com` 或 `127.0.0.1`)。 ### 可选参数: - `-p`,`--ports`:要扫描的端口。接受单个端口、逗号分隔的列表或范围。默认为 `1-1024`。 - 示例:`80`、`22,80,443` 或 `1-65535` - `-t`,`--threads`:要使用的并发线程数。默认为 `100`。增加此值可实现超快扫描。 - `--timeout`:Socket 连接超时时间(以秒为单位)。默认为 `1.0`。 - `-b`,`--banner`:在开放端口上启用 Banner 抓取。 - `-o`,`--output {json,csv}`:指定导出格式,以将结果保存到独立文件中。 - `--no-color`:禁用标准终端彩色文本(适用于不支持 ANSI 的环境)。 ## 酷炫示例 **“终极”扫描(Banner 抓取及 CSV 导出):** ``` python port_scanner.py scanme.nmap.org -p 22,80,443,3306 -b -o csv ``` **高强度多线程快速扫描:** ``` python port_scanner.py localhost -p 1-10000 -t 500 --timeout 0.3 ``` **导出为干净的 JSON:** ``` python port_scanner.py 10.0.0.5 -p 1-1024 -o json ``` ## 日志记录 每次执行都会安全运行,并自动在当前目录下的 `port_scanner.log` 中创建持久的执行上下文逻辑。它经过专门设计以清理日志流,确保您的日志历史中只记录纯文本,而不会出现奇怪的格式化字符!
标签:AES-256, Banner抓取, DNS枚举, Python, Qt框架, TCP扫描, ThreadPoolExecutor, 导出CSV, 导出JSON, 并发扫描, 延迟测量, 插件系统, 数据展示, 数据统计, 无后门, 服务器安全, 服务识别, 漏洞评估, 端口扫描, 系统独立性, 红队, 网络安全, 网络安全工具, 脚本编程, 逆向工具, 隐私保护