共计 2116 个字符,预计需要花费 6 分钟才能阅读完成。
导读 | Ncat 工具功能类似于 cat 命令,但用于网络。它是一个命令行的工具,用于跨网络读取、写入和重定向数据。它被设计成一个可靠的后端工具,可以与脚本或其他程序一起使用。 |
ncat 可以是端口扫描工具,安全工具或监视工具,并且还是简单的 TCP 代理。由于它具有许多功能,因此被称为网络瑞士军刀。它是每个系统管理员都应该了解工具之一。
Centos8
在 Centos7/ 8 系统中 ncat 安装包名称为nmap-ncat
[root@server1 ~]# yum -y install nmap-ncat
此示例我们将检查主机名为 DCserver
的 80 端口连接。
[root@server1 ~]# nc -vz DCserver 80 | |
Ncat: Version 7.70 (https://nmap.org/ncat) | |
Ncat: Connected to 192.168.0.6:80. | |
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds. |
-z
选项为“Zero – I/O 模式”,用于检查连接状态。
下面命令可以创建一个 tcp 监听端口:
[root@server1 ~]# nc -vl 1234 | |
Ncat: Version 7.70 (https://nmap.org/ncat) | |
Ncat: Listening on :::1234 | |
Ncat: Listening on 0.0.0.0:1234 |
使用 netstat -tlunp
查看一下:
在另一台主机中,使用 nc 命令测试一下该端口的连接:
[root@server1 ~]# nc -vz 192.168.43.131 1234 | |
Ncat: Version 7.70 (https://nmap.org/ncat) | |
Ncat: Connected to 192.168.43.131:1234. | |
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds. |
然后返回到侦听端,可以看到来自 192.168.43.131 的 45568 端口连接侦听端的 1234 端口。
[root@server1 ~]# nc -vl 1234 | |
Ncat: Version 7.70 (https://nmap.org/ncat) | |
Ncat: Listening on :::1234 | |
Ncat: Listening on 0.0.0.0:1234Ncat: Connection from 192.168.43.131. | |
Ncat: Connection from 192.168.43.131:45568. |
可以使用 -k
选项,让侦听端保持打开状态。
ncat
可以用作聊天工具,我们将服务器配置侦听端口,远程主机连接服务器的同一端口并发送消息。在服务器端,运行下面命令开启侦听端口:
[root@qdzabbix ~]# ncat -l 8080
在远程主机中运行下面命令,并且在下面输入聊天内容,按回车发送,在服务端可以看到消息内容了。
[ | ]|
Hello qdzabbix |
下面在服务端和远程主机都可以看到消息内容。
想要退出,只需要按 Ctrl + c
就可以。
可以使用 nc 命令通过将 EXIT
命令发送到 ssh 的 22 端口上,来检查服务器软件版本,如下所示:
[root@server1 ~] | |
SSH-2.0-OpenSSH_7.8 | |
Protocol mismatch. |
可以使用 ncat 命令创建后门。此功能主要由黑客使用。可以这样运行命令,在服务端执行下面一条命令:
[root@qdzabbix ~]# nc -l 5566 -e /bin/bash
-e
选项后面指定运行的命令。现在客户端可以连接到服务器上的端口 5566,并且可以通过运行以下命令通过 bash 完全访问我们的系统:
[ | ]|
ls | |
anaconda-ks.cfg | |
a.txt | |
batch | |
Customer_Supplied_Tickets | |
custom_resolv.conf |
下图中红线圈出来的就是执行的命令。
可以在本地主机上使用 ncat 命令启动 Web 服务器,这将打开静态网页面sample.html
。你可以运行如下命令:
首先将下面内容保存到 /root/sample.html
文件中。
[root@qdzabbix ~]# vim /root/sample.html | |
<html> | |
<head> | |
<title>Test Page</title> | |
</head> | |
<body> | |
<h1>Level 1 header</h1> | |
<h2>Subheading</h2> | |
<p>Normal text here</p> | |
</body> | |
</html> |
然后执行下面命令:
[root@qdzabbix ~]# while true; do nc -l -p 80 | |
上面命令中,-p 88选项指定源端口为 80。 | |
在浏览器中访问,可以看到页面内容。 | |
总结 | |
ncat 工具可以帮助你从使用 telnet 进行连通性测试切换到使用 ncat 测试连通性。 |
