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

相关推荐
测试员周周2 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
小辰记事本4 小时前
从零读懂RoCEv2数据包构造:从WQE到线缆上的完整旅程
服务器·网络·网络协议·rdma
小鹏linux5 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
在角落发呆6 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
齐潇宇6 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
裴东青7 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
江公望7 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦7 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn7 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫8 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++