Skip to content

CLI 命令行

crtsh-cli 把 SDK 包装成 26 条命令,给人类、shell 脚本、CI 流水线用。基于 cobra。

cmd/crtsh-cli26 命令JSON/表格/CSVcobra

三类使用者

👤人类
终端里直接敲,默认 table 输出,一眼能读
📜Shell 脚本
`-o json` 喂 jq,管道组合
🔧CI 流水线
`-o csv` 落盘进 Excel,或 json 喂下游

安装

bash
go install github.com/cyberspacesec/crt.sh-skills/cmd/crtsh-cli@latest
bash
# 见 /deploy/release,一行下载解压
curl -sL https://github.com/cyberspacesec/crt.sh-skills/releases/latest/download/crtsh-skills-cli-${OS}-${ARCH}.tar.gz | tar xz

全局 flag

bash
crtsh-cli [--timeout 30s] [--debug] [-o json|table|csv] command [flags]
⏱️--timeout
覆盖默认 30s 超时
🐛--debug
打印 crt.sh 请求/响应原文
📤-o / --output
json(机读) / table(人读,默认) / csv

26 条命令分两大类——查询类对接 crt.sh 拿数据,列举类打印 SDK 选项目录:

flowchart TB CLI["crtsh-cli
26 条命令"] CLI --> Q["查询类(19 条)
对接 crt.sh 拿数据"] CLI --> L["列举类(7 条)
打印 SDK 选项目录"] Q --> Q1["搜索导出
search / export-json/csv/atom"] Q --> Q2["证书与视图
get-cert / get-raw-cert / get-asn1
get-hierarchy / get-graph / get-pv"] Q --> Q3["CT 与订阅
get-ct-entry / atom-feed"] Q --> Q4["CA 与统计
get-ca / issuer-certificates
cert-populations / advanced-search-page"] Q --> Q5["信息页
info-page"] Q --> Q6["Censys
censys"] Q --> Q7["add-chain
gen-add-chain"] L --> L1["list-types / list-pages
list-linters / list-match-modes
list-lint-types / list-group-modes
list-cert-population-groups / list-sort-directions"]

查询类命令(19 条)

命令作用示例
search [query]搜索证书crtsh-cli search example.com --exclude-expired --deduplicate
export-json [query]导出 JSONcrtsh-cli export-json example.com -o json
export-csv [query]导出 CSVcrtsh-cli export-csv example.com > certs.csv
export-atom [query]导出 Atomcrtsh-cli export-atom example.com
get-cert [id]证书详情crtsh-cli get-cert 12345 --opt ocsp
get-ct-entry [ctid]CT 条目crtsh-cli get-ct-entry 111
atom-feed [identity]Atom 订阅crtsh-cli atom-feed example.com
get-raw-cert [id]取 PEMcrtsh-cli get-raw-cert 12345 | openssl x509 -text
gen-add-chain [file|-]生成 add-chaincrtsh-cli gen-add-chain cert.pem
get-asn1 [id]ASN.1 视图crtsh-cli get-asn1 12345
get-hierarchy [id]层级视图crtsh-cli get-hierarchy 12345
get-graph [id]图谱视图crtsh-cli get-graph 12345
get-pv [id]路径校验crtsh-cli get-pv 12345
advanced-search-page高级搜索页crtsh-cli advanced-search-page
cert-populations人口统计crtsh-cli cert-populations --group RootOwner
info-page [page]信息页crtsh-cli info-page monitored-logs
get-ca [ca-id]CA 详情crtsh-cli get-ca 12345
issuer-certificates [ca-id]签发证书crtsh-cli issuer-certificates 12345
censys [query]Censys URLcrtsh-cli censys example.com

列举类命令(7 条)

这些是 SDK 选项的"命令行版目录"

直接读 registry.go,输出跟 SDK 辅助函数完全一致——单一来源。

bash
crtsh-cli list-types                       # 22 种搜索类型
crtsh-cli list-pages                       # 13 个信息页
crtsh-cli list-linters                     # 5 种 linter
crtsh-cli list-match-modes                 # 7 种匹配模式
crtsh-cli list-lint-types                  # 2 种 lint 输出
crtsh-cli list-group-modes                 # 3 种分组
crtsh-cli list-cert-population-groups      # 人口统计分组
crtsh-cli list-sort-directions             # 3 种排序方向

search 命令的显示 flag

bash
crtsh-cli search example.com \
  --issuer-ca-id 12345 \
  --group icaid \
  --sort 3 \
  --dir v
flag取值作用
--issuer-ca-id id数字按 issuer CA ID 过滤
--groupnone / icaid结果分组
--sort <列号>数字排序列
--dir^ 升序 / v 降序排序方向

输出格式分流

flowchart LR CMD["命令执行"] --> SDK["SDK 调用"] SDK --> O{"--output"} O -->|"json"| J["json.Marshal
机读/管道"] O -->|"table 默认"| T["tabwriter 表格
人读"] O -->|"csv"| C["csv.Writer
Excel"] J --> S["stdout"] T --> S C --> S

选哪个

-o json 适合管道喂 jq;-o csv 适合 Excel;table 适合终端直接看。

管道实战

搜证书 → 取 ID → 拿 PEM → openssl 解析
$ crtsh-cli search example.com -o json | jq '.[0].id'
12345
$ crtsh-cli get-raw-cert 12345 | openssl x509 -text -noout
Certificate:
Data: ...
监控新证书(cron 里跑)
$ crtsh-cli atom-feed example.com -o json | jq '.entries[0].updated'
"2026-07-04T08:23:11Z"
CSV 导出 → Excel 分析
$ crtsh-cli export-csv example.com > certs.csv
$ wc -l certs.csv
43 certs.csv

下一页

AI Skills