nc对目标机器端口探测
命令解释
1 | nc -vz 1.1.1.1 53 |
实际上就是 TCP 三次握手探测:
-v让输出更详细-z表示 不发送数据,只建立 TCP 连接后马上断开
等价于发一个 TCP SYN,看对方是否有 SYN/ACK 返回。
对端服务器的压力分析
如果偶尔执行:
几乎没有压力,对端只是在内核层面接受一次 TCP 握手,很快就释放,不进入应用层。如果频繁执行(比如几百次/秒):
- 会消耗对端的 半连接/全连接表资源(TCP backlog、syn queue、accept queue)
- 防火墙(iptables/nftables)也要做连接跟踪,压力会上升
- 应用服务(如果 nc 成功三次握手)会看到大量空连接,accept() -> 立刻 close(),也会有一些 syscall 开销
- 极端情况下会表现得像一种 轻量 SYN Flood / 空连接攻击
建议
健康拨测场景(几十次/分钟以内):安全,不必担心
高频探测(几百次/秒):可能被对端防火墙/IDS 识别为异常流量,甚至自动封禁
如果确实要做 高频健康检查,建议:
- 用 TCP ping 工具(比如
hping3)并限制频率 - 或者走 应用层心跳接口(HTTP GET /healthz)更合理
- 多节点轮询,避免单点过多探测
- 用 TCP ping 工具(比如