用 `nc -zv` 检查远程端口是否开放
回答「是不是防火墙挡住了我」最快的办法——netcat 扫描模式只建立一次 TCP 连接并打印结果。
运行 `nc -zv example.com 443` 测试单个 TCP 端口;输出 `succeeded` 表示开放,`Connection refused` 或超时表示关闭或被过滤。
01命令
命令
$ nc -zv example.com 44302作用说明
`-z` 让 nc 进入零数据模式:只建立连接随即关闭,不发送任何载荷,正是端口检测所需的动作。`-v` 会用文字直接打印结果,不用去猜退出码。对被过滤的端口建议加 `-w 3` 设置超时避免卡住;加 `-u` 可测 UDP,但由于 UDP 无连接状态,结果并不可靠。
03风险
!注意: 超时通常意味着防火墙静默丢包,而 'Connection refused' 说明主机有响应但该端口没有服务监听。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- nc(1) — arbitrary TCP and UDP connections and listens (OpenBSD netcat)依据: Documents -z (zero-I/O scan mode) and -v (verbose) for testing if a port is open without sending data
- OpenSSL — ArchWiki依据: ArchWiki network troubleshooting pages commonly recommend nc -zv for quick port reachability checks
最后验证: 2026-09-17 · 分类: 网络
06相关方案
用 `ip -br a` 以紧凑表格显示 IP 地址
一条命令就能把每个网卡的名称、状态和 IPv4/IPv6 地址打印成简短表格——这是取代又长又难记的 `ifconfig` 和冗长的 `ip addr` 输出的现代做法。
用 `ip route show` 查看路由表和默认网关
流量走错网卡或网关疑似不通时,路由表是第一排查点——`ip route show` 就是读取它的快捷命令。
用 `resolvectl flush-caches` 清除 DNS 缓存
在基于 systemd 的 Linux(Ubuntu、Fedora、Debian 12+)上,本地 DNS 缓存由 systemd-resolved 管理——清缓存命令从旧的 systemd-resolve 改名后,很多人总想不起来。