jasim-jazz/python-port-scanner

GitHub: jasim-jazz/python-port-scanner

一个使用 Python 构建的多线程端口扫描器,支持横幅抓取与服务检测,专为网络侦察与学习设计。

Stars: 0 | Forks: 0

# 高级 Python 端口扫描器 一个使用 Python 构建的强大快速 **多线程端口扫描器**,支持 **横幅抓取**、**服务检测** 和 **基于 CLI 的自定义**。 本工具专为 **网络安全领域的网络侦察** 与学习设计。 ## 功能 * 多线程扫描(高性能) * 扫描自定义端口范围 * 基础服务检测(常见端口) * 横幅抓取(识别运行中的服务) * 使用 argparse 解析 CLI 参数 * 将扫描结果保存到文件 * 简洁清晰的输出 ## 要求 * Python 3.x * 无需外部库(仅使用内置模块) ## 安装 ``` git clone https://github.com/YOUR_USERNAME/python-port-scanner.git cd python-port-scanner ``` ## 用法 ``` python3 scanner.py [options] ``` ## 参数说明 | 参数 | 描述 | | ----------- | ------------------------ | | `target` | 目标 IP 地址或域名 | | `-p, --ports` | 端口范围(默认:1-1000) | | `-t, --threads` | 线程数量(默认:100) | | `-o, --output` | 将结果保存到文件 | ## 示例 ### 🔹 基础扫描 ``` python3 scanner.py scanme.nmap.org ``` ### 🔹 扫描特定端口范围 ``` python3 scanner.py scanme.nmap.org -p 1-2000 ``` ### 🔹 提升速度(增加线程) ``` python3 scanner.py scanme.nmap.org -t 200 ``` ### 🔹 将输出保存到文件 ``` python3 scanner.py scanme.nmap.org -o results.txt ``` ### 🔹 完整示例 ``` python3 scanner.py scanme.nmap.org -p 1-1000 -t 200 -o scan.txt ``` ## 工作原理 1. 接收目标(IP/域名) 2. 使用多线程扫描端口 3. 识别开放端口 4. 尝试横幅抓取 5. 映射常见服务(HTTP、SSH 等) 6. 显示并可选择保存结果 ## 示例输出 ``` [+] Port 80 OPEN | Service: HTTP Banner: HTTP/1.1 200 OK [+] Port 22 OPEN | Service: SSH Banner: SSH-2.0-OpenSSH_8.2p1 Ubuntu ``` ## 免责声明 本工具仅供 **教育用途**。 * 仅扫描您拥有的系统 * 或获得明确授权进行测试 未经授权的扫描行为是违法的。 ## 作者 **Mohamed Jasim** * 网络安全爱好者 * 漏洞赏金学习者 ## 后续改进计划 * TCP SYN 扫描(使用 Scapy) * 服务版本检测 * 彩色输出 * 进度条 * 操作系统指纹识别 ## 如果你喜欢这个项目 在 GitHub 上给它一个 ⭐!
标签:Banner抓取, DNS枚举, DNS查询工具, Linux工具, Python, XML 请求, 二进制发布, 安全开发, 开源工具, 异步IO, 数据统计, 无后门, 服务检测, 端口扫描, 端口扫描器, 端口扫描工具, 端口探测, 端口探测工具, 网络安全, 网络安全工具, 网络工具, 轻量级扫描器, 逆向工具, 隐私保护