netcat Cheatsheet - Network Debugging

网络排障必备的 Netcat 命令都在这里了,从端口扫描到文件传输,按场景分类整理,排障直接复制。

SysOps·36 commands·Last updated 2026-07-21
Back to SysOps

连接测试与端口扫描 6

nc -zv host 80
检测目标 80 端口是否开放,最常用
nc -zv host 80 443 8080
检查多个指定端口
nc -zv host 1-1000
扫描 1-1000 端口范围
nc -vz -w 2 host 80
带 2 秒超时检测端口
nc -uz host 8080
UDP 模式检测端口
nc -4 host 80
强制使用 IPv4 连接

文件与数据传输 6

nc -l 9999 > received.txt
接收端:监听并保存到文件
nc host 9999 < file.txt
发送端:发送文件
tar czf - dir | nc host 9999
发送端:打包并发送目录
nc -l 9999 | tar xzf -
接收端:接收并解压
dd if=/dev/sda | nc host 9999
发送端:传输磁盘镜像
nc host 9999 | pv > disk.img
接收端:带进度条接收镜像(需 pv)

端口监听 5

nc -l 8080
监听本地 8080 端口等待连接
nc -l -p 8080
监听(老版本 nc 语法,需 -p)
nc -l -k 8080
保持监听,支持多个连接(BSD 版)
nc -lk 8080
同上,合并写法
nc -lu 9090
监听 UDP 端口

代理与转发 3

nc -l 1234 | nc target 80
简易 TCP 代理转发
mkfifo pipe; nc -lk 8080 < pipe | nc target 80 > pipe
双向端口转发(管道方式)
nc -l 1234 -e /bin/bash
将 shell 绑定到端口(GNU nc,仅限授权测试)

高级选项与参数 7

-v / -vv
详细输出 / 更详细输出
-z
零 I/O 模式,仅扫描不发送数据
-w 2
连接超时 2 秒
-k
保持监听,支持多个连接(BSD 版)
-s 192.168.1.1
指定源 IP 地址
-p 12345
指定本地源端口
-u
使用 UDP 协议

替代工具与对比 4

ncat host 80
Nmap 的 ncat,支持 SSL 和访问控制
ncat --ssl host 443
ncat 加密连接,替代明文 nc
socat - TCP:host:80
socat 功能更强的替代,支持更多协议
nc --version
查看 nc 版本,区分 BSD/GNU/OpenBSD 版

💡 Tips

  • macOS 自带的 nc 是 BSD 版本,参数和 GNU ncat 不同,排障时注意区分。
  • 端口扫描仅用于授权范围内的网络排查,未经授权扫描属违规行为。
  • nc 传输不加密,敏感数据不要直接用 nc 传,走 SSH 或 TLS。
  • OpenBSD 版 nc 不支持 -e 参数,需要绑定 shell 时用 ncat 或 socat 替代。
  • 传输大文件时发送端用 pv 显示进度:pv file.txt | nc host 9999。
  • 做端口转发推荐用 socat 或 ncat,功能更完善且支持持久连接。