HasnainRaza67/Port_scanner

GitHub: HasnainRaza67/Port_scanner

一个使用 Python 构建的多线程 TCP 端口扫描器,用于识别开放端口、检测服务并进行基本的 Banner 抓取。

Stars: 0 | Forks: 0

# 高级端口扫描器 (Python) 一个使用 Python 构建的多线程 TCP 端口扫描器,用于识别开放端口、检测运行中的服务,并执行基本的 Banner 抓取以进行网络分析。 # 概述 本项目通过扫描目标系统的开放端口并识别相关服务,演示了基础的网络和网络安全概念。它使用并发执行来提高性能,并包含了实际侦察中常用的技术。 # 功能 * 多线程端口扫描,执行速度更快 * 自定义端口范围扫描 * 使用 TCP 连接检测开放端口 * 基于常见端口映射的服务识别 * 通过 Banner 抓取进行基本的服务和版本检测 * 超时处理以提高可靠性 # 工作原理 1. 目标解析 使用 DNS 将域名转换为 IP 地址。 2. 端口扫描 尝试与指定范围内的每个端口建立 TCP 连接。 3. 开放端口检测 根据成功的连接识别开放端口。 4. 服务识别 将已知端口映射到常见服务(例如,HTTP,SSH)。 5. Banner 抓取 在可用时从开放端口检索服务信息。 6. 多线程 使用并发线程同时扫描多个端口以获得更好的性能。 # 使用技术 * Python * `socket` (网络通信) * `concurrent.futures` (多线程) # 安装 克隆仓库: ``` git clone https://github.com/HasnainRaza67/Port_scanner.git cd Port_scanner ``` 无需外部依赖。 # 使用方法 运行程序: ``` python port_scanner.py ``` 在提示时提供输入: ``` Enter target (IP or domain): scanme.nmap.org Start port: 20 End port: 100 ``` # 示例输出 ``` Scanning target: scanme.nmap.org Port range: 20 - 100 Resolved IP: 45.33.32.156 [OPEN] Port 22 (SSH) [OPEN] Port 80 (HTTP) ``` # 安全注意事项 * 本工具仅供教育和授权测试目的使用 * 仅扫描您拥有或已获得明确测试权限的系统 * 未经授权的扫描可能是非法和不道德的 # 局限性 * 基本的 Banner 抓取可能并不总是返回数据 * 服务检测仅基于常见的端口映射 * 不执行深度的漏洞扫描 # 未来改进 * 异步扫描以实现更高的性能 * 操作系统和服务指纹识别 * 导出扫描结果 (CSV/JSON) * 与漏洞数据库集成 * 基于 GUI 的界面 # 作者 Hasnain Raza 网络安全专业学生 # 许可证 本项目是开源的,并在 MIT 许可证下发布。 # 支持 如果您觉得这个项目有用,请考虑在 GitHub 上给它点个 Star。 # 输出 ![输出截图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/67c9ecbd1c152106.png)
标签:Banner Grabbing, Python, Qt框架, Socket编程, TCP连接, URL发现, 二进制发布, 安全检测, 并发扫描, 开源工具, 插件系统, 教育项目, 数据统计, 无后门, 无线安全, 服务识别, 横幅抓取, 端口扫描, 系统分析, 网络分析, 网络安全, 逆向工具, 隐私保护