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

相关推荐
coderwu1 分钟前
Ubuntu 24.04 终端输入 openclaw config 提示未找到命令解决办法
linux·运维·ubuntu
dxxt_yy14 分钟前
千兆光/电口+OTDR一体——成都鼎讯 SZT-1000A 千兆以太网测试仪助力风电能源光缆管理
运维·服务器·能源
tedcloud1231 小时前
taste-skill部署教程:打造个性化AI推荐工作流
服务器·前端·人工智能·系统架构·edge
凡人叶枫2 小时前
Effective C++ 条款28:避免使用 handles 指向对象内部
linux·服务器·开发语言·c++·嵌入式开发
AI帮小忙2 小时前
Debian系linux操作系统里安装OpenClaw
linux·运维·debian
极创信息2 小时前
Linux挖矿病毒深度清理实战教程,从进程隐藏、Rootkit驻留到彻底根除
java·大数据·linux·运维·安全·tomcat·健康医疗
志栋智能3 小时前
超自动化巡检剧本(Playbook):运维经验的数字化封装
运维·自动化
风味蘑菇干3 小时前
WTomcat服务器
java·服务器
ElevenS_it1883 小时前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix
weixin_307779133 小时前
Python写入Shell文件使用Linux系统的换行符
linux·开发语言·python·自动化