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 连接、进行端口扫描、传输文件、创建简单的网络服务等,对于网络调试和系统管理非常有帮助。

相关推荐
yyuuuzz6 小时前
聊聊独立站部署的常见技术问题
运维
hsjcjh6 小时前
标书自动化攻坚:用Gemini 3.1 Pro镜像官网构建多步推理的智能投标应答流水线(国内实测教程)
运维·服务器·网络
东方隐侠安全团队-千里6 小时前
CVE-2026-31431 Copy Fail:Linux 本地提权漏洞原理、影响面与排查修复建议
linux·运维·服务器
峥无6 小时前
Linux 文件系统底层探秘:磁盘物理结构→inode→Ext 架构全链路
linux·运维·笔记
牛大兵6 小时前
IP扫描,局域网内扫描IP地址,找出有用,未使用的。正在使用的信息
服务器·网络·tcp/ip
minji...6 小时前
Linux 网络套接字编程(七)TCP服务端和客户端的实现——网络版本计算器
linux·运维·服务器·网络·c++·tcp/ip·udp
Misnice6 小时前
DevOps 介绍
运维·devops
liann1196 小时前
3.3_tasklist和netstat命令详解
运维·windows·计算机网络·安全·信息与通信
mounter6256 小时前
Linux Kernel Design Patterns (Part 2):从经典链表到现代 XArray,拆解内核复杂数据结构的设计哲学
linux·数据结构·链表·设计模式·内存管理·kernel