网络工程师或运维工程师、应用程序开发人员需要经常检查远程服务器上的端口是否处于打开状态,以便判断所检查的服务是否正在运行,今天这篇文将分享几种关于如何检查远程服务器端口的方法,希望对小伙伴们有所帮助。
1、telnet命令
telnet是Windows和Linux上最常用的检查端口命令,具体语法如下:
# telnet IP地址 端口
如# telnet www.baidu.com 443
若执行telnet命令仍未发现,执行“yum install telnet”
若远程服务器上的端口打开,能够访问百度首页,若未打开,则会提示以下报错:
2、nc命令
nc或netcat是一个很有用的程序,常用于数据包传输、端口扫描等,语法如下:
# nc -vz IP地址或域名 端口
若执行nc命令仍未发现,执行“yum install nc”,再执行上述命令。
若远程服务器的端口未打开或服务器未启用,将提示一个连接超时的错误,具体如下:
3、nmap命令
nmap是开源实用程序,常用于网络扫描,可依次检查多个主机和端口,需要注意的是,在使用命令前,线执行“yum install nmap”进行安装,具体如下:
# nmap IP地址或域名
4、/dev/tcp
Linux中的进程内容都是文件格式,且主机和端口也能通过文件处理程序得知其状态,若上述命令仍未得到结果(在docker容器中经常看到没有这些命令),也可使用该类方法检查,具体如下:
echo > /dev/tcp/IP地址/端口 && echo "Port is open"
echo > /dev/udp/IP地址/端口 && echo "Port is open"
需要注意的是,上述命令取决于远程服务是采用哪种协议,如ssh是TCP协议、smtp是UDP协议。
若远程服务器的端口是开启的,将打印出“Port is open”,若是没有打开,将提示“Connection refused”。