Skip to content

端口扫描

使用纯 Go 实现的 TCP Connect 并发扫描,快速发现目标主机上开放的端口。

参数说明

参数类型必填默认值说明
主机 (host)stringIP 地址或域名
端口范围 (ports)string80,4431-100022,80,443,8080-9090
超时 (timeout)integer60整体扫描超时(秒)

端口格式

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 可能检测并拦截扫描行为