Linux命令:nc

nc 命令

基本介绍

nc 命令是 netcat 的缩写,是一个功能强大的网络工具,被称为"瑞士军刀"。它可以用于创建 TCP/UDP 连接、端口扫描、数据传输、网络调试等多种用途。它是 Linux 系统中常用的网络工具之一。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

语法

复制代码
nc [选项] [主机] [端口]

常用选项

  • -4:只使用 IPv4
  • -6:只使用 IPv6
  • -U, --unixsock:使用 Unix 域套接字
  • -l, --listen:监听模式
  • -p, --source-port <端口>:指定源端口
  • -s, --source <地址>:指定源地址
  • -c, --sh-exec <命令>:执行指定命令
  • -e, --exec <命令>:执行指定命令(与 -c 类似)
  • -b, --broadcast:允许广播
  • -D, --debug:启用调试模式
  • -d, --delay <毫秒>:设置发送延迟
  • -h, --help:显示帮助信息
  • -i, --interval <秒>:设置间隔时间
  • -k, --keep-open:保持连接打开
  • -n, --nodns:不进行 DNS 解析
  • -o, --output <文件>:将数据输出到文件
  • -P, --proxy-auth <认证>:代理认证
  • -q, --quit <秒>:指定超时时间后退出
  • -r, --randomize:随机选择端口
  • -S, --sndbuf <大小>:设置发送缓冲区大小
  • -T, --tos <类型>:设置服务类型
  • -t, --telnet:启用 Telnet 选项
  • -u, --udp:使用 UDP 协议
  • -v, --verbose:详细模式,显示更多信息
  • -w, --wait <秒>:设置连接超时时间
  • -X, --proxy-protocol <协议>:指定代理协议
  • -x, --proxy <主机:端口>:指定代理服务器
  • -z, --zero:零数据模式(用于端口扫描)

使用示例

1. 连接到远程主机

bash 复制代码
nc example.com 80

2. 监听模式

bash 复制代码
nc -l 8080

3. 端口扫描

bash 复制代码
nc -zv example.com 1-100

4. UDP 端口扫描

bash 复制代码
nc -zvu example.com 1-100

5. 文件传输(发送)

bash 复制代码
nc -l 8080 > received_file

6. 文件传输(接收)

bash 复制代码
nc example.com 8080 < file_to_send

7. 执行命令

bash 复制代码
nc -lp 8080 -e /bin/bash

8. 简单聊天服务器

bash 复制代码
nc -lp 8080

9. 使用 UDP 协议

bash 复制代码
nc -u example.com 53

10. 指定源端口

bash 复制代码
nc -p 1234 example.com 80

11. 不进行 DNS 解析

bash 复制代码
nc -n example.com 80

12. 设置超时时间

bash 复制代码
nc -w 5 example.com 80

输出格式说明

连接输出

复制代码
HTTP/1.1 200 OK
Date: Mon, 24 Apr 2026 12:00:00 GMT
Server: Apache/2.4.41 (Ubuntu)
Content-Type: text/html
...

端口扫描输出

复制代码
Connection to example.com 22 port [tcp/ssh] succeeded!
Connection to example.com 80 port [tcp/http] succeeded!

监听模式输出

复制代码
listening on [any] 8080 ...
connect to [192.168.1.100] from [192.168.1.101] 54321

相关命令

  • telnet:传统的远程登录工具
  • ssh:安全的远程登录工具
  • curl:功能强大的网络工具
  • wget:文件下载工具
  • nmap:专业的端口扫描工具
  • socat:多功能的网络工具
  • netstat:显示网络状态

注意事项

  • nc 命令不需要 root 权限,但某些操作可能需要
  • nc 命令功能强大,可以用于网络调试、端口扫描、文件传输等多种用途
  • nc 命令支持 TCP 和 UDP 协议
  • nc 命令可以用于创建简单的服务器和客户端
  • nc 命令的 -e 选项可以执行命令,但需要谨慎使用
  • 可以使用 man nc 查看完整的命令手册

总结

nc 命令是 Linux 系统中功能强大的网络工具,被称为"瑞士军刀"。通过 nc 命令,用户可以创建 TCP/UDP 连接、进行端口扫描、传输文件、创建简单的网络服务等,对于网络调试和系统管理非常有帮助。

相关推荐
lczllx几秒前
从 TCP 90μs 到 SHM 28μs:我的 RPC 框架零拷贝优化历程
linux·后端
发量惊人的中年网工1 小时前
AI服务器托管怎么选机房?GPU集群对机柜、电力和网络的硬要求
服务器·网络·人工智能
盐焗鹌鹑蛋1 小时前
【Linux】权限
linux
窝子面1 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器
玖玥拾1 小时前
Unity 3D 笔记(十五)Unity/C# Socket 网络笔记4
服务器·网络·unity·c#
小此方1 小时前
Re:Linux系统篇(四十六)信号篇·四:一文串联操作系统底层:时钟中断、内核态切换、系统调用与 Linux 信号处理全解析
linux·驱动开发·信号处理
编程序的员1 小时前
使用OpenTelemetry来监控GoLang应用
运维·golang·monitoring·apm·opentelemetry
羑悻的小杀马特2 小时前
把随身WiFi改成网盘聚合器:中兴F50挂载本地存储+夸克网盘实战
运维·服务器·人工智能·网盘·openlist
无人生还别怕2 小时前
如何制作一个linux标准iso镜像
linux·iso·opencloudos·openanolisos
Yana.nice10 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome