首先下载nc 的rpm报文进行安装,链接:https://centos.pkgs.org/6/centos-i386/nc-1.84-24.el6.i686.rpm.html
也可以到我的本地资料下载:https://download.csdn.net/download/timor_2/10686877
如果你已经安装过,请忽略。安装命令:rpm -ivh nc-1.84-24.el6.i686.rpm
如果有人问为什么要使用nc (netcat) 命令,而不使用telnet ?
我会说telnet 只能检测tcp的端口。UDP的端口一般都用nc 。因为nc 号称是网络届的瑞士军刀。当然你可以有其他的方式。
安装完成后直接用命令来检测。注意安装的系统和被检测系统不是同一个系统哦!
假设要检测系统的IP为:1.1.1.1 ,端口为2000,检测的是UDP。
使用:nc -zvu 1.1.1.1 2000
1:如果回复success ,也就是成功。(?)
2:如果没有任何数据,那就是说明该端口不可用。
但是有时候可能目的系统有防火墙,阻止了ICMP报文的发送,那么以上的检测是不正确的。
why ???
因为nc的检测原理就是连续发送5包UDP报文,如果对端没有回复ICMP的相关目的不可达报文,那么就默认为成功。
所以说很多情况下导致没有收到ICMP报文都会认为是success 成功的。有时候给一个不存在的IP地址发送检测也可能是success.
所以说nc也不完全靠谱,懂得这个原理你就知道为啥了。
如果你想检测tcp ,那就使用nc -zv 1.1.1.1 2000 ,去掉u参数即可。