Netcat简称nc,瑞士军刀,功能十分强大,使用tcp/udp协议将一端的数据传输到另一端。
Netcat有Windows和linux版本,Kali里面是默认安装的,如果没有需要手动下载。
Netcat命令介绍:
-c 进入shell模式
-e该参数后面跟一个可执行程序名称,当一个连接建立时,该程序将被运行
-b允许广播
-g <网关>设置路由器跳跃通信网关,最多可设置8个
-G <指向器数目>设置来源路由指向器,其数值为4的倍数
-h帮助目录
-i 延迟秒数
-k在套接字上设置keepalive选项
-l监听模式,用于入站连接(netcat以服务器状态运行)
-n直接使用IP地址,不通过域名服务器DNS
-o <输出文件>文件十六进制数据转储
-p <通信端口>设置本地主机使用的通信端口
-r随机化本地和远程端口
-q在发送EOF后XX秒后断开连接,但实际使用却是立即断开连接
-s <来源地址>设置本地主机送出数据包的IP地址
-T tos设置服务类型
-t应答TELNET协商
-u UDP模式
-v 显示指令执行过程[使用两次可更详细]
-w <超时秒数>秒连接和最终网络读取超时
-z使用0输入/输出模式[用于扫描端口]
Netcat功能介绍:
1.Banner抓取
命令:nc -nv 192.168.101.102 22
2.连接到远程主机
3.端口扫描
命令:nc -nv 192.168.101.102 22 (扫描一个端口)
命令:nc -v -z 192.168.101.102 20-2000(扫描一段端口)
4.端口监听
命令:nc -l -p 9999
网址访问
成功监听
5.文件传输
此时root下有一个文件1.txt,内容如下
命令:nc -lp 333 >1.txt (意思是开始监听,等待有人来连接,有连接的话内容流到1.txt中)
切记>1.txt中间不能有空格,否则内容为空
另一台内网机器中root下有一个文件test.txt,内容如下
把内网里test.txt内的内容传输到外网的1.txt中
命令:nc -vn 10.0.78.29 333 < test.txt -q l
发现内容更改成功
6.简易聊天
命令:nc -l -p 8888
达成连接,两边便可以进行通话
之后将会对第二个功能进行详细演示,进行正向和反向shell