一、Netcat是一款简单的unix工具,使用UDP和TCP协议。它是一个可靠的容易被其他程序所启用的后台操作工具,同时也被用作网络的测试工具,使用它你可以轻易的建立任何连接。
二、Nc可以在两台设备上面相互交互,即侦听模式/传输模式。
-telnet 功能、获取banner信息
-传输文本信息
-传输文件、目录
-加密传输文件
-远程控制
-加密所有流量
-流媒体服务器
-远程克隆硬盘
三、什么是banner,banner信息,欢迎语,在banner信息中可以得到软件开发商、软件名称、软件版本、服务类型等信息。前提,需要和目录建立链接,只要建立了链接,才能获取到对应的banner信息。目标服务器可以对banner信息隐藏或禁止读取。
四、使用nc -h 查看参数手册
-c shell commands shell模式
-e filename 程序重定向 [危险!!]
-b 允许广播
-d 无命令行界面,使用后台模式
-g gateway 源路由跳跃点, 不超过8
-G num 源路由指示器: 4, 8, 12, ...
-h 获取帮助信息
-i secs 延时设置,端口扫描时使用
-k 设置在socket上的存活选项
-l 监听入站信息
-n 以数字形式表示的IP地址
-o file 使进制记录
-p port 本地端口
-r 随机本地和远程的端口
-q secs 在标准输入且延迟后退出
-s addr 本地源地址
-T tos 设置服务类型
-t 以TELNET的形式应答入站请求
-u UDP模式
-v 显示详细信息 [使用=vv获取更详细的信息
-w secs 连接超时设置
-z I/O 模式 [扫描时使用]
其实常用的就几个参数-n,-v,-l,-p,-q
五、环境准备
一台kali linux服务器 10.0.0.146
一台linux服务器 10.0.0.52
网络互通,nc 软件包下载命令 yum install -y nc
六、Netcat 获取banner信息
[root@prome_master_01 ~]# netstat -lntp|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 7032/mysqld
root@kali:~# nc -nv 10.0.0.52 3306 #连接10.0.0.52主机的3306端口显示详细信息
(UNKNOWN) [10.0.0.52] 3306 (mysql) open
N
5.7.33-log 9Ah*q���UkRwz@D}y3 mysql_native_password
---3306端口开放
---获取到banner信息
七、传输文本
①服务端开启nc端口
nc -l -p 222
②客户端建立连接
nc -nv 10.0.0.52 222
③演示效果
[root@prome_master_01 ~]# nc -l -p 222
hello
date
root@kali:~# nc -nv 10.0.0.52 222
(UNKNOWN) [10.0.0.52] 222 (?) open
hello
date
八、屏幕打印信息传输
①将接收的信息放在ll.txt
root@kali:/tmp# nc -l -p 333 > ll.txt
②将ll得到的信息传输到kali
[root@prome_master_01 tmp]# ll|nc -nv 10.0.0.146 333
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.0.0.146:333.
Ncat: 99 bytes sent, 0 bytes received in 0.02 seconds.
③验证ll.txt信息
root@kali:/tmp# cat ll.txt
total 4
-rw-r--r-- 1 root root 10 Sep 21 23:29 11.txt
-rw-r--r-- 1 root root 0 Sep 21 23:24 3.txt
九、传输文件
①服务器上准备好接收scp.txt
root@kali:/tmp# nc -l -p 555 > scp.txt
②目录服务器上准备好传输
[root@prome_master_01 tmp]# nc -nv 10.0.0.146 555 < scp.txt
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.0.0.146:555.
Ncat: 12 bytes sent, 0 bytes received in 0.03 seconds.
③验证
root@kali:/tmp# ls -l
总用量 8
-rw-r--r-- 1 root root 99 9月 21 23:31 ll.txt
-rw-r--r-- 1 root root 12 9月 21 23:35 scp.txt
tips:接收文件和传输文件名可以不一样。
十、传文件夹
①准备接收
root@kali:/tmp# nc -l -p 666 |tar -zxvf -
②传输
[root@prome_master_01 tmp]# mkdir 222
[root@prome_master_01 tmp]#
[root@prome_master_01 tmp]# tar -zcvf - 222 |nc 10.0.0.146 666
222/
③验证
root@kali:/tmp# ls -l
总用量 4
drwxr-xr-x 2 root root 4096 9月 21 23:50 222
root@kali:/tmp# cd 222/
0 Comments