命令行接口文档

学习如何通过命令行使用 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"