Netcat是一个功能强大的网络工具,它可以用于进行网络通信、文件传输、端口扫描、反向连接、加密通信以及远程管理等多种功能。以下是关于Netcat的详细介绍:
文件传输:Netcat可以在计算机之间传输文件,无论是将文件发送到远程计算机,还是从远程计算机接收文件,它都能轻松实现。这一功能在备份文件、共享文件以及传输大文件时非常有用。
端口扫描:通过Netcat,用户可以扫描计算机上的端口,这对于检测网络漏洞、查找开放的端口以及测试网络安全都非常有帮助。
反向连接:Netcat能够建立反向连接,这种连接方式比常规连接更为安全。通过隧道连接到远程计算机,本地计算机可以访问远程计算机。
加密通信:为了保护敏感数据,Netcat提供了加密通信的功能。它可以使用SSL或SSH协议进行加密通信,确保数据传输的安全性。
远程管理:Netcat还可以用于远程管理计算机,例如进行远程Shell管理和远程文件管理。这对于远程维护计算机或进行远程协作非常有用。
关于netcat的安装命令:
yum install nc
输入Y,表示同意下载安装
安装完成后,使用nc命令输入安装的版本
nc --version
以上是服务器能够联网的情况下完成netcat的按爪
如果离线情况下如何安装呢
打开镜像网址:https://sourceforge.net/projects/netcat/files/netcat/
将下载好的rpm安装包传输到需要安装netcat的服务器目录中
进入该目录,解压缩安装包到/usr/local目录,执行命令:
tar -zxvf netcat-0.7.1.tar.gz -C /usr/local
解压缩后得到一个目录netcat-0.7.1,进入该目录:
cd /usr/local
重命名该目录,执行命令:
mv netcat-0.7.1 netcat # 重命名 cd netcat # 进入该目录
准备源代码树,执行命令:
./configure
如果.
/configure
报错:configure: error: no acceptable C compiler found in $PATH
,就下载yum install gcc -y来解决,完事重新执行命令即可
编译安装,执行命令:make && make install
配置path,编辑文件,执行命令:
vi /etc/profile
在文件末尾添加如下内容:
# set netcat path
export NETCAT_HOME=/usr/local/netcat export PATH=$PATH:$NETCAT_HOME/bin
使配置文件生效,执行命令:
source /etc/profile
测试安装是否成功,执行命令:
nc --version
跟着操作到这里,说明netcat在服务器已经安完毕,博主介绍一下使用netcat如何开启udp通道20000端口
首先,保证内网端口中20000被防火墙放行了
查看防火墙中放行的端口,命令:
firewall-cmd --list-ports
如果没有看到2000/udp, 表示防火墙并没有放行20000端口,需要增加放行20000端口,命令:
firewall-cmd --zone=public --add-port=20000/udp --permanent
执行之后,需要让其更改生效,命令:
firewall-cmd --reload
做完了这些之后,需要去云服务器实例外部的安全组也放行一下20000端口
做了这些准备工作之后,就可以使用netcat来创建本地端口为20000的upd通道了
命令语法
(一)基本用法
基本语法如下:
nc [选项] [目标地址] [端口]
二)常见选项
以下是一些常见的Netcat命令的选项:
-l 或 --listen:监听模式,Netcat会创建一个服务器socket并等待连接。
-p 或 --port:指定本地监听的端口。
-n 或 --numeric:显示数字地址而不是主机名。
-v 或 --verbose:显示详细的连接信息。
-z 或 --zeal:仅发送SYN包并等待响应,用于扫描端口。
-u 或 --udp:使用UDP而不是TCP。
-w 或 --wait:设置超时时间(秒)。
-c 或 --cc:设置超时时间(毫秒)。
-s 或 --source-port:指定发送数据时的源端口。
-e 或 --exec:在连接建立后执行命令。
-i 或 --interactive:在执行-e选项时,保持交互式界面
可以在服务器终端输入命令:
nc --help
来列出所有的命令选项
博主测试的目的是使用netcat 创建upd通道,端口为20000,可以使用命令:
nc -lu 20000 -v # -v表示打印详细信息
代表这UDP通道已经建立,这时候如果UDP发送端发送过来数据就会直接在控制台上打印出来,如上图
如果还不放心20000端口的udp通道是不是起来了,可以使用命令:
netstat -tuln | grep 20000
额外拓展一下netcat其他的几个命令
卸载netcat, 命令:
sudo yum remove nc
或者,如果安装的是Netcat的OpenBSD版本,使用:
sudo yum remove netcat-openbsd
如果需要创建的是tcp通道,则直接运行如下命令:
nc -lv 20000 # 创建tcp通道20000并打印启动tcp通信服务信息
使用Netcat复制文件同样很简单。从远程计算机复制文件到本地计算机
nc [目标地址] [端口] > [本地文件名]
例如从baidu.com的80端口下载文件到本地计算机的baidu.txt
nc baidu.com 80 > baidu.txt
从本地计算机复制文件到远程计算机
nc [目标地址] [端口] < [本地文件名]
使用UDP发送数据到192.168.0.1的21001端口(DNS服务器)
nc -u192.168.0.1 21001