Biyanipm7966/Network-Port-Scanner

GitHub: Biyanipm7966/Network-Port-Scanner

一个基于 Java 的多线程 TCP 端口扫描器,支持并发扫描、知名端口服务检测与实时横幅抓取。

Stars: 0 | Forks: 0

# 网络端口扫描器 一个使用 Java 编写的快速多线程 TCP 端口扫描器。支持通过知名端口映射进行服务检测,并实时抓取横幅信息。 ## 功能 - 使用可配置线程池(`ExecutorService`)进行多线程扫描 - 对 35+ 个知名端口(HTTP、SSH、MySQL、Redis 等)进行服务检测 - 抓取横幅信息以识别精确的服务版本 - 可配置的端口范围、超时时间和线程数 - 扫描期间实时显示进度指示器 ## 系统要求 - Java 8+ ## 构建 ``` bash compile.sh ``` 这会将所有源代码编译到 `out/` 目录中。 ## 使用方法 ``` java -cp out Main [options] ``` 或者使用便捷包装脚本(需要时编译并运行): ``` bash scan.sh [options] ``` ### 选项 | 标志 | 长形式 | 描述 | 默认值 | |------|-----------|-------------|---------| | `-p` | `--ports` | 端口范围(`起始-结束`)或单个端口 | `1-1024` | | `-t` | `--timeout` | 连接超时(毫秒) | `500` | | `-T` | `--threads` | 线程池大小 | `200` | | `-b` | `--banners` | 在开放端口上启用横幅抓取 | 关闭 | | `-h` | `--help` | 显示用法 | | ### 示例 ``` # 扫描 localhost 上的知名端口 java -cp out Main localhost # 使用 500 个线程扫描端口 1–10000 并进行横幅抓取 java -cp out Main scanme.nmap.org -p 1-10000 -T 500 -b # 扫描单个端口 java -cp out Main 192.168.1.1 -p 80 -b # 为慢速/远程主机设置更宽的超时 java -cp out Main example.com -p 1-65535 -t 1000 -T 300 ``` ### 示例输出 ``` ╔══════════════════════════════════════════════╗ ║ Network Port Scanner v1.0 ║ ╚══════════════════════════════════════════════╝ Target : localhost (127.0.0.1) Ports : 1 - 1024 Threads : 300 Timeout : 500 ms Banners : yes ────────────────────────────────────────────── Scanning... 1024/1024 ports (100%) ────────────────────────────────────────────── PORT STATUS SERVICE ────────────────────────────────────────── 22 OPEN SSH [SSH-2.0-OpenSSH_10.2] 80 OPEN HTTP [HTTP/1.1 200 OK] Found 2 open port(s). Scan completed in 0.09 seconds. ────────────────────────────────────────────── ``` ## 项目结构 ``` ├── src/ │ ├── Main.java # CLI entry point and argument parsing │ ├── PortScanner.java # Multi-threaded scan engine │ ├── ServiceDetector.java # Port-to-service mapping and banner grabbing │ └── ScanResult.java # Result data model ├── compile.sh # Build script └── scan.sh # Compile-and-run wrapper ``` ## 法律声明 仅扫描您自己拥有或明确获得授权测试的主机。未经授权的端口扫描在您所在司法管辖区可能属于违法行为。
标签:Banner抓取, DNS枚举, ExecutorService, Java网络编程, JS文件枚举, TCP扫描, URL短链接分析, 二进制发布, 云存储安全, 可配置扫描, 域名枚举, 多线程扫描, 并发扫描, 开源工具, 情报分析, 数据统计, 文档结构分析, 服务探测, 服务版本识别, 端口扫描, 端口映射, 端口范围, 线程池, 网络安全工具, 网络扫描, 网络诊断, 超时配置, 进度显示