当前位置:首页>Linux>Linux基础 | nc 命令使用指南(网络调试瑞士军刀)

Linux基础 | nc 命令使用指南(网络调试瑞士军刀)

  • 2026-09-10 17:01:00
Linux基础 | nc 命令使用指南(网络调试瑞士军刀)

在 Linux 网络工具里,有一个被称为“瑞士军刀”的命令——nc。

它的全称是 Netcat。很多人第一次接触它时,只会用来“测端口通不通”。

但实际上,nc 的能力远远不止如此。

今天,我们系统讲清楚 nc 的核心用法。

一、nc 是干什么的?

nc(Netcat)的核心功能是:建立 TCP / UDP 连接,并进行数据读写。
你可以把它理解为:

一个简易客户端

一个临时服务器

一个端口检测工具

一个数据传输工具

一句话总结:

只要和端口打交道,nc 基本都能参与。

二、安装 nc

不同发行版包名可能不同。
Ubuntu / Debian
sudo apt install netcat
或者:
sudo apt install netcat-openbsd
CentOS / RHEL
sudo yum install nc
安装完成后验证:
nc -h
能看到帮助信息说明安装成功。

三、最常见用途:检测端口是否开放

比如测试服务器 80 端口是否开放:
nc -zv 192.168.1.10 80
参数解释:
-z 只扫描端口,不发送数据
-v 显示详细信息
如果连接成功,会显示:
succeeded
这在排查服务是否启动、端口是否被防火墙拦截时非常实用。

四、连接远程服务

你也可以直接连接某个端口:
nc 192.168.1.10 80
连接后可以手动输入 HTTP 请求:
GET / HTTP/1.1
Host: 192.168.1.10
这对于理解 HTTP 协议非常有帮助。

五、作为临时服务器使用

nc 还能监听端口。
例如在本机监听 9000 端口:
nc -l 9000
此时它就变成了一个简易服务器。
另一台机器执行:
nc 服务器IP 9000
双方就可以直接通信。
这在测试网络连通性时极其方便。

六、传输文件

很多人不知道,nc 可以直接传文件。
接收端:
nc -l 9000 > file.txt
发送端:
nc 目标IP 9000 < file.txt
文件会通过网络直接传输。
在内网临时传输文件时非常高效。

七、端口扫描

例如扫描 20 到 80 端口:
nc -zv 192.168.1.10 20-80
注意:
nc 不是专业扫描工具,
如果需要更强功能,建议使用 nmap。Linux基础|网络扫描:nmap 命令详解与实战
但日常快速测试已经足够。

八、使用 UDP 模式

默认是 TCP,如果需要 UDP:
nc -u 192.168.1.10 53
适合测试 DNS 或其他 UDP 服务。

九、常见参数总结

参数
作用
-l
监听模式
-z
扫描模式
-v
显示详细信息
-u
使用 UDP
-p
指定本地端口
掌握这几个参数,日常调试基本够用。

十、实际运维场景

你可以用 nc:

检查服务器端口是否开放

测试防火墙策略

验证容器端口映射

调试 TCP 服务协议

临时做数据传输

例如排查服务无法访问时:
  1. 先 ping
  2. 再 nc 测端口
  3. 再检查服务日志
这是非常典型的排查思路。

十一、安全提醒

因为 nc 功能强大,它也常被用于:
反弹 shell
渗透测试
因此生产环境应合理配置防火墙,
避免不必要的端口暴露。

总结

关于 nc,你至少要掌握:
  • 端口检测:nc -zv IP 端口
  • 监听模式:nc -l 端口
  • 文件传输用法
  • TCP / UDP 切换
在 Linux 网络工具体系中,nc 属于:轻量、直接、非常高效的调试工具。
如果你经常接触服务器、容器、网络环境,nc 是必须掌握的基础命令之一。
如果这篇文章对你有帮助,欢迎点赞、收藏、转发。
我们下篇继续深入 Linux 实战工具。

最新文章

随机文章