@
1. 安装
2. 选项
2.1 帮助命令
| [root@DoM01 ~]# nc -h |
| Ncat 7.50 ( https://nmap.org/ncat ) |
| Usage: ncat [options] [hostname] [port] |
| |
| Options taking a time assume seconds. Append 'ms' for milliseconds, |
| 's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms). |
| |
| -4 Use IPv4 only |
| -6 Use IPv6 only |
| -U, --unixsock Use Unix domain sockets only |
| -C, --crlf Use CRLF for EOL sequence |
| -c, --sh-exec <command> Executes the given command via /bin/sh |
| -e, --exec <command> Executes the given command |
| --lua-exec <filename> Executes the given Lua script |
| -g hop1[,hop2,...] Loose source routing hop points (8 max) |
| -G <n> Loose source routing hop pointer (4, 8, 12, ...) |
| -m, --max-conns <n> Maximum <n> simultaneous connections |
| -h, --help Display this help screen |
| -d, --delay <time> Wait between read/writes |
| -o, --output <filename> Dump session data to a file |
| -x, --hex-dump <filename> Dump session data as hex to a file |
| -i, --idle-timeout <time> Idle read/write timeout |
| -p, --source-port port Specify source port to use |
| -s, --source addr Specify source address to use (doesn't affect -l) |
| -l, --listen Bind and listen for incoming connections |
| -k, --keep-open Accept multiple connections in listen mode |
| -n, --nodns Do not resolve hostnames via DNS |
| -t, --telnet Answer Telnet negotiations |
| -u, --udp Use UDP instead of default TCP |
| --sctp Use SCTP instead of default TCP |
| -v, --verbose (can be used several times) |
| -w, --wait <time> Connect timeout |
| -z Zero-I/O mode, report connection status only |
| --append-output Append rather than clobber specified output files |
| --send-only Only send data, ignoring received; quit on EOF |
| --recv-only Only receive data, never send anything |
| --allow Allow only given hosts to connect to Ncat |
| --allowfile A file of hosts allowed to connect to Ncat |
| --deny Deny given hosts from connecting to Ncat |
| --denyfile A file of hosts denied from connecting to Ncat |
| --broker Enable Ncat's connection brokering mode |
| --chat Start a simple Ncat chat server |
| --proxy <addr[:port]> Specify address of host to proxy through |
| --proxy-type <type> Specify proxy type ("http" or "socks4" or "socks5") |
| --proxy-auth <auth> Authenticate with HTTP or SOCKS proxy server |
| --ssl Connect or listen with SSL |
| --ssl-cert Specify SSL certificate file (PEM) for listening |
| --ssl-key Specify SSL private key (PEM) for listening |
| --ssl-verify Verify trust and domain name of certificates |
| --ssl-trustfile PEM file containing trusted SSL certificates |
| --ssl-ciphers Cipherlist containing SSL ciphers to use |
| --version Display Ncat's version information and exit |
| |
2.2 常用示例
- 监听TCP端口(默认)
说明:
-l
启动监听模式(作为服务器监听指定端口)
-v
显示信息和错误
- 监听UDP端口
| nc -luv 10.10.239.32 1840 |
说明:
- 链接TCP端口
- 链接UDP端口
说明:
- 接收数据重定向
| nc -lv 10.10.239.32 1840 > liubei.txt |
- 上传数据
| nc -v 10.10.239.32 1840 < liubei.txt |
3. 完整示例
3.1 示例1(端口联通检查)
- 检查本地服务器是和 10.10.239.65的80端口是否能建立TCP链接。
| [root@liubei-01 ~]# nc -vz 10.10.239.65 80 |
| Ncat: Version 7.50 ( https://nmap.org/ncat ) |
| Ncat: Connected to 10.10.239.65:80. |
| Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds. |
如上可见,可以联通。
- 检查本地服务器是和 10.10.239.65的80端口是否能建立UDP链接。
| [root@liubei-01 ~]# nc -vuz 10.10.239.65 80 |
| Ncat: Version 7.50 ( https://nmap.org/ncat ) |
| Ncat: Connected to 10.10.239.65:80. |
| Ncat: Connection refused. |
| |
如上可见,不能联通。
3.2 示例2(文件传输)
| [root@liubei-01 ~]# nc -lv 10.10.239.32 1840 > liubei.txt |
| Ncat: Version 7.50 ( https://nmap.org/ncat ) |
| Ncat: Listening on 10.10.239.32:1840 |
| |
服务端会在前台等待接收
| [root@liubei-02 ~]# cat > liubei.txt << EOF |
| > 姓名:刘备 |
| > 势力:西蜀 |
| > 身份:主公 |
| > EOF |
| [root@liubei-02 ~]# nc -v 10.10.239.32 1840 < liubei.txt |
| Ncat: Version 7.50 ( https://nmap.org/ncat ) |
| Ncat: Connected to 10.10.239.32:1840. |
| Ncat: 48 bytes sent, 0 bytes received in 0.01 seconds. |
| |
| [root@liubei-02 ~]# nc -v 10.10.239.32 1840 < liubei.txt |
| Ncat: Version 7.50 ( https://nmap.org/ncat ) |
| Ncat: Connected to 10.10.239.32:1840. |
| Ncat: 48 bytes sent, 0 bytes received in 0.01 seconds. |
传输完毕服务端会结束
| [root@liubei-01 ~]# cat liubei.txt |
| 姓名:刘备 |
| 势力:西蜀 |
| 身份:主公 |
| |
3.3 带宽测试
本例使用udp测试
- 创建server监听80端口接收upd包,接收数据传入黑洞
| [root@liubei-01 ~]# nc -uvl 10.10.239.32 80 > /dev/null |
| Ncat: Version 7.50 ( https://nmap.org/ncat ) |
| Ncat: Listening on 10.10.239.32:80 |
| |
| [root@liubei-01 ~]# nc -u 10.10.239.32 80 < /dev/zero |
本例使用iftop
工具,在客户端查看实时网速。(当然你也可以使用别的方案)
如果没有直接yum
监控结果显示
结果有很多条,其他数据我省略了。
| 1.86Gb 3.73Gb 5.59Gb 7.45Gb 9.31Gb |
| └────────────────────────────────────────┴────────────────────────────────────────┴────────────────────────────────────────┴────────────────────────────────────────┴───────────────────────────────────────── |
| liubei-02 => 10.10.239.32 3.27Gb 3.38Gb 3.30Gb |
| <= 0b 0b 0b |
| ………… |
| ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── |
| TX: cum: 84.5GB peak: 4.11Gb rates: 3.28Gb 3.39Gb 3.30Gb |
| RX: 521MB 13.2Mb 3.23Mb 5.74Mb 4.59Mb |
| TOTAL: 85.0GB 4.11Gb 3.28Gb 3.39Gb 3.31Gb |
| |
结果说明:
- 顶部数据:网速标尺
- 中部数据:每个链接的网络数据(我只保留了我们测试的一条,其他用省略号表示)
- 第一列:本机源地址
- 第二列:远端目标地址
- 第三列:2s平均网速
- 第四列:10s平均网速
- 第五列:40s平均网速
- 底部数据
|
开启后合计值 |
峰值 |
2s平均流量 |
10s平均流量 |
40s平均流量 |
发送的数据 |
|
|
|
|
|
接收的数据 |
|
|
|
|
|
汇总 |
|
|
|
|
|

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?