musabX44/net-eye-scanner

GitHub: musabX44/net-eye-scanner

NetEye 是一款基于 Python 标准库编写的多线程网络端口扫描器,支持灵活的目标配置、SSL/TLS Banner 抓取及 JSON 格式结果导出。

Stars: 1 | Forks: 0

# NetEye — 快速多线程网络扫描器 一个使用 Python 编写的快速高效的多线程端口扫描器。支持单个 IP、域名和 CIDR 网络范围,并提供 SSL/TLS banner 抓取和服务检测等高级功能。 **许可证:** MIT ## 功能 - 🚀 **多线程扫描** - 可配置线程数以实现更快的扫描 - 🌐 **灵活的目标输入** - 支持单个 IP、主机名和 CIDR 表示法 - 🎯 **自定义端口选择** - 扫描特定端口、范围或常用端口列表 - 🏷️ **高级 banner 抓取** - 包括 HTTPS 在内的被动和主动服务识别 - 📊 **详细输出** - 显示所有端口状态或仅显示开放端口 - 💾 **JSON 导出** - 保存详细的扫描结果以供进一步分析 - ⚡ **快速扫描** - 具有可配置超时的优化 TCP 连接扫描 - 🔒 **SSL/TLS 支持** - 检测加密端口(HTTPS、SMTPS 等)上的服务 ## 功能详解 ### Banner 抓取方法 此扫描器使用三种复杂的方法来识别服务: 1. **被动 banner 抓取** - 监听来自 SSH、FTP 和 SMTP 等服务的自动响应 2. **主动 HTTP 探测** - 向 Web 服务(端口 80、8080、8000)发送 HTTP HEAD 请求 3. **SSL/TLS 握手** - 对端口 443 上的加密连接进行特殊处理,以提取证书和 Server 头信息 ## 安装说明 ### 前置条件 - Python 3.6+ - 无需外部依赖(仅使用标准库) ### 克隆与设置 ``` git clone https://github.com/musabX44/net-eye-scanner.git cd net-eye-scanner ``` ## 使用说明 ### 基础扫描 扫描单个 IP: ``` python neteye.py 192.168.1.1 ``` 扫描域名: ``` python neteye.py example.com ``` 扫描 CIDR 网络: ``` python neteye.py 192.168.1.0/24 ``` ### 高级选项 #### 扫描特定端口: ``` # 扫描特定 ports python neteye.py 192.168.1.1 -p 22,80,443 # 扫描 port 范围 python neteye.py 192.168.1.1 -p 1-1024 # 扫描常用 ports python neteye.py 192.168.1.1 -p top ``` #### 调整线程: ``` # 使用 100 个 threads 加速扫描 python neteye.py 192.168.1.1 -t 100 ``` #### 启用服务检测: ``` # 尝试从开放 ports 抓取 banners python neteye.py 192.168.1.1 -sV ``` #### 详细输出: ``` # 显示所有 ports(开放和关闭) python neteye.py 192.168.1.1 -v ``` #### 将结果保存为 JSON: ``` # 将结果导出到 JSON 文件 python neteye.py 192.168.1.1 -oJ results.json ``` #### 组合选项: ``` python neteye.py 192.168.1.0/24 -p 1-65535 -t 200 -sV -v -oJ network_scan.json ``` ### 帮助与版本 ``` # 显示帮助信息 python neteye.py -h # 显示版本 python neteye.py -V ``` ## 命令行选项 | 选项 | 简写 | 全写 | 描述 | |--------|-------|------|-------------| | target | - | - | 目标 IP、域名或 CIDR 网络(必填) | | ports | -p | --ports | 要扫描的端口(默认:1-1000) | | threads | -t | --threads | 并发线程数(默认:50) | | service | -sV | --service | 尝试检测服务版本/banner | | output | -oJ | --output | 将结果保存到 JSON 文件 | | verbose | -v | --verbose | 显示所有端口状态,包括关闭的端口 | | version | -V | --version | 显示版本信息 | ## 输出格式 ### 控制台输出 ``` ====================================================================== NetEye Scan Started Targets: 1 IP(s) | Ports to scan: 20 | Threads: 50 ====================================================================== [*] Scanning 192.168.1.1... |__ Port 22 | State: OPEN (OpenSSH 7.4) |__ Port 80 | State: OPEN (Apache/2.4.6) |__ Port 443 | State: OPEN (nginx/1.14.0) ====================================================================== Scan completed. Elapsed time: 12.45 seconds. ====================================================================== ``` ### JSON 输出 ``` { "192.168.1.1": [ { "port": 22, "status": "OPEN", "service": "OpenSSH 7.4" }, { "port": 80, "status": "OPEN", "service": "Apache/2.4.6" }, { "port": 443, "status": "OPEN", "service": "nginx/1.14.0" } ] } ``` ## 示例 ### 扫描局域网中的常见服务并进行 banner 检测 ``` python neteye.py 192.168.1.0/24 -p top -t 100 -sV ``` ### 带详细输出的完整网络审计 ``` python neteye.py 10.0.0.0/24 -p 1-65535 -t 500 -sV -v -oJ full_audit.json ``` ### 对单个服务器的快速检查 ``` python neteye.py example.com -p 22,80,443,8080,3306 ``` ### 具有高线程数的激进扫描 ``` python neteye.py 192.168.0.0/16 -p 1-10000 -t 1000 -sV -oJ results.json ``` ## 常用端口列表 当使用 `-p top` 时,将扫描以下端口: ``` 21, 22, 23, 25, 53, 80, 110, 111, 135, 139, 143, 443, 445, 993, 995, 1723, 3306, 3389, 5900, 8080 ``` ## 性能提示 - **增加线程数**以加快扫描速度:`-t 200` 或更高(取决于系统资源) - **扫描特定端口**而不是大范围端口,以节省时间 - **使用常用端口列表**进行快速侦察:`-p top` - 在扫描大型网络时**禁用详细模式**以加快输出速度 ## 支持的服务 NetEye 可以通过 banner 抓取识别以下服务: - SSH(端口 22) - HTTP/HTTPS(端口 80、443、8080、8000) - FTP(端口 21) - SMTP(端口 25) - DNS(端口 53) - POP3(端口 110、995) - IMAP(端口 143、993) - SMB(端口 139、445) - MySQL(端口 3306) - RDP(端口 3389) - VNC(端口 5900) - 以及更多... ## 许可证 本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。 **这意味着:** - ✅ 您可以将其用于商业用途 - ✅ 您可以修改和分发它 - ✅ 您可以将其包含在闭源项目中 - ✅ 您可以派生并回馈贡献 - ✅ 必须保留版权和许可声明 - ❌ 无任何担保或责任 ## 免责声明 ⚠️ **重要提示**:此工具旨在对您拥有或获得测试许可的系统进行合法的安全测试。未经授权的端口扫描在您所在的司法管辖区可能是非法的。在扫描非您拥有的网络之前,请务必获得适当的授权。 ## 作者 由 [musabX44](https://github.com/musabX44) 创建 ## 支持 如有任何问题、疑问或建议,请在 GitHub 上提出一个 [issue](https://github.com/musabX44/net-eye-scanner/issues)。 **祝您扫描愉快!** 🎯
标签:Banner抓取, Python, 并发处理, 插件系统, 数据统计, 无后门, 服务器安全, 端口扫描, 网络扫描器, 逆向工具