命令行接口文档
学习如何通过命令行使用 Port Rocket 进行端口扫描和网络探测
快速安装
Port Rocket 提供多种安装方式,让您可以快速在不同操作系统上部署工具。
想要查看更详细的安装指南?完整安装文档为您提供每个平台的详细步骤。
Windows
macOS
Linux
Docker
Go 安装
Windows
# 通过 Scoop 安装
scoop bucket add cyberspacesec https://github.com/cyberspacesec/go-port-rocket
scoop install go-port-rocket
# 通过 Chocolatey 安装
choco install go-port-rocket
macOS
# 通过 Homebrew 安装
brew tap cyberspacesec/go-port-rocket
brew install go-port-rocket
Linux
# Debian/Ubuntu
wget https://github.com/cyberspacesec/go-port-rocket/releases/download/v1.0.0/go-port-rocket_1.0.0_linux_amd64.deb
sudo apt install ./go-port-rocket_1.0.0_linux_amd64.deb
# Arch Linux
yay -S go-port-rocket-bin
Docker
# 拉取镜像
docker pull cyberspacesec/go-port-rocket:latest
# 运行容器(网络扫描需要特权)
docker run --rm --network host --cap-add=NET_RAW --cap-add=NET_ADMIN cyberspacesec/go-port-rocket
关于Docker的详细使用说明,包括为什么需要特权模式以及安全建议,请查看Docker安装指南。
Go 安装
go install github.com/cyberspacesec/go-port-rocket@latest
快速开始
安装完成后,您可以立即开始使用以下命令进行扫描:
基本TCP端口扫描
go-port-rocket scan -t 192.168.1.1 -p 80,443,8080 -s tcp
服务识别扫描
go-port-rocket scan -t example.com -p 1-1000 -s tcp --service-detection
完整扫描
go-port-rocket scan -t scanme.nmap.org -p 1-100 -s tcp -O --service-detection -o report.html
命令速查
以下是 Port Rocket 支持的主要命令的快速参考:
命令 | 说明 | 基本用法 |
---|---|---|
scan |
执行端口扫描 | go-port-rocket scan -t [目标] -p [端口] |
api |
启动 HTTP API 服务 | go-port-rocket api --port 8080 |
discover |
进行网络发现 | go-port-rocket discover -n 192.168.1.0/24 |
mcp |
使用 Model Context Protocol | go-port-rocket mcp --query "扫描本地网络" |
常用选项速查
扫描选项
-t, --target
- 指定扫描目标-p, --ports
- 指定端口范围-s, --scan
- 指定扫描类型-T, --timeout
- 设置超时时间-w, --workers
- 设置并发线程数-o, --output
- 指定输出文件-O, --os-detection
- 启用操作系统检测
API选项
--host
- API服务监听地址 (默认: 0.0.0.0)--port
- API服务监听端口 (默认: 8080)--enable-auth
- 启用认证 (默认: true)--jwt-secret
- JWT密钥--redis-addr
- Redis服务器地址--max-workers
- 最大工作线程数 (默认: 10)--allow-inmemory
- 允许内存存储降级
发现选项
-n, --network
- 要扫描的网段--icmp
- 使用ICMP Ping (默认: true)--tcp
- 使用TCP Ping (默认: true)--arp
- 使用ARP扫描--ports
- TCP Ping端口 (默认: 80,443,22,445)-c, --concurrent
- 并发数 (默认: 100)
MCP选项
--query
- 自然语言查询--model
- AI模型名称 (默认: gpt-4)--type
- AI模型类型 (openai, local)--session-id
- 指定MCP会话ID--start-session
- 启动新会话--show-history
- 显示会话历史
基本使用
Port Rocket 的基本命令结构如下:
go-port-rocket [命令] [选项]
主要命令包括:
-
scan
执行端口扫描 -
api
启动 HTTP API 服务 -
discover
网络发现,找出活跃主机 -
mcp
使用 Model Context Protocol
最基本的扫描命令示例:
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp
扫描选项
扫描命令支持多种选项,以下是详细说明:
选项 | 缩写 | 描述 | 默认值 |
---|---|---|---|
--target |
-t |
扫描目标 (IP地址或域名) | - |
--ports |
-p |
端口范围 (例如: 80,443 或 1-1024) | - |
--scan |
-s |
扫描类型 (tcp, syn, fin, null, xmas, ack, udp) | tcp |
--timeout |
-T |
连接超时时间 | 2s |
--workers |
-w |
并发工作线程数 | 100 |
--output |
-o |
输出文件路径 (格式将根据扩展名判断) | - |
--service-detection |
- | 启用服务检测 | false |
--service-probe |
- | 启用服务探测 | false |
--banner-grab |
- | 获取服务banner | false |
--version-intensity |
- | 版本检测强度 (0-9) | 7 |
--os-detection |
-O |
启用操作系统检测 | false |
--guess-os |
- | 根据TTL猜测操作系统 | false |
--limit-os-scan |
- | 限制仅对开放端口的主机进行OS扫描 | false |
高级用法
服务检测
启用服务检测功能可以识别运行在开放端口上的服务类型和版本:
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp --service-detection
操作系统检测
启用操作系统检测功能可以识别目标主机的操作系统类型和版本:
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp -O
版本检测强度
调整版本检测的强度级别 (0-9),值越高,检测越详细但耗时也越长:
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp --service-detection --version-intensity 9
完整扫描
进行全面的扫描,包括端口扫描、服务检测和操作系统检测:
go-port-rocket scan -t 192.168.1.1 -p 1-1024 -s tcp -O --service-detection --version-intensity 9 --guess-os
高级扫描技术
Port Rocket 支持多种扫描技术,包括SYN、FIN、NULL、XMAS和ACK扫描:
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s syn
网段扫描
扫描整个子网的指定端口:
go-port-rocket scan -t 192.168.1.0/24 -p 22,80,443 -s tcp
输出格式
Port Rocket 支持多种输出格式,便于后续处理和分析。输出格式根据输出文件的扩展名自动选择:
HTML 格式
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp -o result.html
JSON 格式
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp -o result.json
XML 格式
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp -o result.xml
CSV 格式
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp -o result.csv
文本格式
go-port-rocket scan -t 192.168.1.1 -p 80,443 -s tcp -o result.txt
示例
扫描特定端口
go-port-rocket scan -t example.com -p 80,443,8080 -s tcp
扫描端口范围
go-port-rocket scan -t 192.168.1.1 -p 1-1000 -s tcp
UDP 扫描
go-port-rocket scan -t 192.168.1.1 -p 53,123,161 -s udp
保存为 JSON 格式
go-port-rocket scan -t scanme.nmap.org -p 1-100 -s tcp -o scan_result.json
完整扫描示例
go-port-rocket scan -t scanme.nmap.org -p 21-25,80,443 -s tcp --service-detection -O --version-intensity 7 -o scan_result.html
使用 API 服务
go-port-rocket api --port 8080 --enable-auth --jwt-secret "your-secure-secret"
网络发现
go-port-rocket discover -n 192.168.1.0/24 --icmp --tcp --ports 22,80,443
使用 MCP (AI集成)
使用自然语言进行端口扫描和安全分析:
go-port-rocket mcp --query "扫描 scanme.nmap.org 的常用端口"
启动 MCP 会话
go-port-rocket mcp --start-session --model gpt-4
查看 MCP 会话历史
go-port-rocket mcp --show-history --session-id "session-123"