想知道如何检查两个网络端点之间的连接?
sysadmin的常见任务之一是检查连接性以解决网络问题。可能是因为应用程序无法连接到后端服务,无法从外部URL获取数据,验证流是否已打开等。.
无论是什么,以下实用程序/命令都将为您提供帮助。它们已在CentOS 7.x上进行了测试,我看不出有任何理由不能在其他Linux发行版上运行.
让我们来探索…
远程登录
一种广泛使用的命令,用于测试服务器之间的基本连接,即服务器与另一台网络设备的IP。该命令的语法很简单.
远程登录$ destinationIP $ PORT
假设您要测试是否可以连接到IP地址为10.0.0.1的端口8080;那么命令将是.
telnet 10.0.0.1 8080
如果连接没有问题,则应该看到连接的消息.
尝试10.0.0.1…
已连接至10.0.0.1.
转义字符为“ ^]”.
注意:如果执行telnet时未找到命令,则需要安装telnet,如我在此处所述.
在大多数情况下,telnet应该会提供帮助。但是,如果您需要其他选择,则可以使用以下telnet替代方法.
ncat或nc
Ncat(又名nc)是一个功能强大的网络实用程序,具有许多功能,例如绑定和接受连接,远程执行命令,写入和读取数据等。它可在IPv4和IPv6上工作.
要进行简单的测试以检查端口是否打开,您将执行以下命令.
nc -vz $ HOSTNAME $ PORT
让我们以在geekflare.com上测试443端口为例.
[[受电子邮件保护] 〜]#nc -vz geekflare.com 443
Ncat:版本7.50(https://nmap.org/ncat)
Ncat:已连接至104.25.133.107:443.
Ncat:发送0个字节,在0.02秒内收到0个字节.
[[受电子邮件保护] 〜]#
如前所述,您还可以使用nc绑定连接以侦听特定端口。当您没有正在运行的实际服务但要确保存在连接时,这会很方便.
要开始监听端口:
nc -l $ PORTNUMBER
它将端口绑定到给定的编号.
如果未安装ncat,则可以在CentOS / RHEL服务器上使用yum install nc完成它。.
get
wget是用于下载/测试HTTP,HTTPS和FTP的有用命令。如果您是一名Web工程师,或者经常处理与Web相关的问题,那么wget是您的朋友。使用wget进行测试非常简单.
wget $ URL
这是测试工具的示例。geekflare.com
[[受电子邮件保护] 〜]#wget tools.geekflare.com
–2019-05-09 20:40:01– http://tools.geekflare.com/
正在解析tools.geekflare.com(tools.geekflare.com)… 104.25.134.107、104.25.133.107、2606:4700:20 :: 6819:866b, …
正在连接到tools.geekflare.com(tools.geekflare.com)| 104.25.134.107 | :: 80 …已连接.
HTTP请求已发送,正在等待响应… 301已永久移动
位置:https://tools.geekflare.com/ [关注]
–2019-05-09 20:40:01– https://tools.geekflare.com/
正在连接至tools.geekflare.com(tools.geekflare.com)| 104.25.134.107 | :: 443 …已连接.
HTTP请求已发送,正在等待响应… 200 OK
长度:未指定[text / html]
保存到:“ index.html.2”
[ <=> ] 15,139 –.- K / s 0.001s
2019-05-09 20:40:02(12.8 MB / s)-保存了’index.html.2′[15139]
[[受电子邮件保护] 〜]#
如果显示已连接,则说明没有连接问题.
卷曲
卷发是一种多功能工具.
您知道可以使用curl远程登录到端口吗?
好吧,现在你知道了.
curl -v telnet:// $ IP:$ PORT
以下是一个工作示例.
[[受电子邮件保护] 〜]#curl -v telnet://chandan.io:443
*关于connect()到chandan.io端口443(#0)
*尝试104.31.68.106…
*连接到chandan.io(104.31.68.106)端口443(#0)
而且,当没有侦听端口或防火墙问题时,您将看到尝试…
[[受电子邮件保护] 〜]#curl -v telnet://chandan.io:4434
*关于connect()到chandan.io端口4434(#0)
*尝试104.31.68.106…
您也可以使用curl下载数据。它支持多种协议-HTTP,HTTPS,FTP,IMAP,LDAP,POP3,SCP,SFTP,GOPHER等.
纳帕
具有数百种功能的流行工具。通常,这被视为安全工具. 纳帕 让您测试单个IP /端口或范围内.
测试单个端口
nmap -p $ PORT $ IP
在siterelic.com上测试端口443的示例
[[受电子邮件保护] 〜]#nmap -p 443 siterelic.com
在UTC 2019-05-10 06:55开始Nmap 7.70(https://nmap.org)
适用于siterelic.com的Nmap扫描报告(104.27.174.50)
主机启动(0.0079s延迟).
siterelic.com的其他地址(未扫描):104.27.175.50 2606:4700:30 :: 681b:ae32 2606:4700:30 :: 681b:af32
港口国服务
443 / TCP打开https
已完成Nmap:在0.13秒内扫描了1个IP地址(1个主机已启动)
[[受电子邮件保护] 〜]#
查看状态列。如果看到打开,则表示连接正常。而且,如果状态被过滤,则表示不存在连接.
结论
telnet正在逐步淘汰最新的Linux版本。由于上述telnet替代方案.
如果您是Linux的新手,并且想学习,请查看此内容 乌迪米课程.