Appearance
端口扫描
使用纯 Go 实现的 TCP Connect 并发扫描,快速发现目标主机上开放的端口。
参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 主机 (host) | string | 是 | — | IP 地址或域名 |
| 端口范围 (ports) | string | 是 | — | 如 80,443 或 1-1000 或 22,80,443,8080-9090 |
| 超时 (timeout) | integer | 否 | 60 | 整体扫描超时(秒) |
端口格式
ports 参数支持灵活的格式:
| 示例 | 含义 |
|---|---|
80,443,8080 | 扫描指定端口 |
1-1000 | 扫描范围 |
22,80,443,3000-4000 | 混合模式 |
结果解读
每发现一个开放端口输出一行 JSON:
json
{"type":"port","host":"192.168.1.1","ip":"192.168.1.1","port":80,"protocol":"tcp"}扫描完成后输出汇总:
json
{"type":"summary","host":"192.168.1.1","ip":"192.168.1.1","port_count":3,"total_ports":1000,"duration_ms":15000}判断标准
| 结果 | 含义 |
|---|---|
| 发现开放端口 | 该端口有服务在监听 |
| 无开放端口 | 所有端口关闭或被防火墙过滤 |
| 扫描超时 | 端口范围过大或网络延迟高 |
注意事项
- 不需要
CAP_NET_RAW权限(使用 TCP Connect,非 SYN 扫描) - 大范围扫描较慢,建议缩小端口范围
- 扫描速率受网络延迟和并发数影响
- 对方 IDS/IPS 可能检测并拦截扫描行为