ncat/nc是一个网络实用程序,其功能类似于cat命令,但用于网络。它是一个通用的CLI工具,用于在网络上读取、写入和重定向数据。它被设计成一个可靠的后端工具,可以与脚本或其他程序一起使用。它也是一个很棒的网络调试工具,因为它可以创建任何类型的连接。ncat/nc可以是端口扫描器、安全工具或监控工具,也可以是简单的TCP代理。由于它具有如此多的功能,它被称为Web的瑞士军刀。它是每个系统管理员都应该了解和掌握的工具之一。大多数Debian发行版都提供nc,并在安装过程中自动安装。但在MinimalCentos7/RHEL7安装中,需要使用以下命令进行安装。[root@linuxtechi~]#yuminstallnmap-ncat-y管理员可以用它来审计他们的系统安全,他们可以用它来找到开放的端口并保护它们。管理员也可以将它作为客户端来审计web服务器、telnet服务器、邮件服务器等。使用它,我们可以控制每个字符的发送,查看请求的响应。您还可以让它捕获客户端发送的数据以查看他们在做什么。在本教程中,我们将通过10个示例学习如何使用nc命令。(1)监听入站连接ncat可以工作在监听模式,我们可以使用optionl来监听某个端口号的入站连接,示例如下:$ncat-l8080服务器现在开始监听8080端口的入站连接。(2)连接远程系统要使用nc连接远程系统,可以使用如下命令$ncatIP_addressport_number例子如下:$ncat192.168.1.10080现在用IP连接到服务器的80端口地址192.168.1.100,我们现在可以发送服务器发送指令,比如我们可以获取完整的页面内容GET/HTTP/1.1或获取页面名称,GET/HTTP/1.1或者我们可以使用以下命令获取操作系统指纹识别的横幅,HEAD/HTTP/1.1这将告诉正在使用什么软件来运行web服务器。(3)连接UDP端口nc默认只连接TCP端口。可以使用选项u连接UDP端口,示例如下:$ncat-l-u1234系统会开始监听udp端口1234,可以使用netstat命令验证$netstat-tunlp|grep1234udp000.0.0.0:12340.0.0.0:*17341/ncudp600:::1234:::*17341/nc假设我们要发送或测试一个特定的远程主机UDP连接,使用以下命令$ncat-v-u{host-ip}{udp-port}例子如下:[root@localhost~]#ncat-v-u192.168.105.15053Ncat:Version6.40(http://nmap.org/ncat)ncat:连接到192.168.105.150:53.(4)作为聊天工具NC也可以作为聊天工具,我们可以配置服务器监听端口,然后我们就可以从远程机器上连接服务器了相同的端口并开始发送消息。在服务器端,运行以下命令:$ncat-l8080在客户端,运行以下命令:$ncat192.168.1.1008080然后开始发送消息,它们将显示在服务器端。(5)NC作为代理NC也可以使用简单的命令作为代理,例如:$ncat-l8080|ncat192.168.1.20080现在,所有通过端口8080到我们服务器的连接将自动重定向到端口80的192.168.1.200服务器。但是由于我们使用的是管道,所以只能传输数据而不能接收数据。为了接收数据,我们需要创建一个双向管道并使用以下命令:$mkfifo2way$ncat-l80800<2way|ncat192.168.1.200801>2way现在您将能够通过nc代理发送和接收数据。(6)复制文件nc也可用于将文件从一个系统复制到另一个系统,但不推荐使用,因为大多数系统默认安装了ssh/scp。如果您遇到没有ssh/scp的系统,nc会派上用场。在接收数据的机器上,启动nc进入监控模式$ncat-l8080>file.txt在复制数据的机器上,运行如下命令$ncat192.168.1.1008080--send-only
