5个Linux实用程序,用于测试网络连接

本文概述

  • 远程登录
  • ncat或nc
  • get
  • curl
  • nmap
想知道如何检查两个网络端点之间的连接?
sysadmin的常见任务之一是检查连接以解决网络问题。可能是因为应用程序无法连接到后端服务, 无法从外部URL获取数据, 验证流是否已打开等。
无论是什么, 以下实用程序/命令都将为你提供帮助。它们已经在CentOS 7.x上进行了测试, 我看不出有任何理由不能在其他Linux发行版上运行。
【5个Linux实用程序,用于测试网络连接】让我们来探索…
远程登录一种广泛使用的命令, 用于测试服务器之间的基本连接, 即服务器与另一台网络设备的IP。该命令的语法很简单。
telnet $destinationIP $PORT

假设你要测试是否可以连接到10.0.0.1 IP地址上的端口8080;那么命令将是。
telnet 10.0.0.1 8080

如果连接没有问题, 则应该看到已连接的消息。
Trying 10.0.0.1... Connected to 10.0.0.1. Escape character is '^]'.

注意:如果在执行telnet时未找到命令, 则需要安装telnet, 如我在此处所述。
在大多数情况下, telnet应该会提供帮助。但是, 如果你需要其他选择, 则可以使用以下telnet替代方法。
ncat或ncNcat(又名nc)是一个功能强大的网络实用程序, 具有许多功能, 例如绑定和接受连接, 远程执行命令, 写入和读取数据等。它同时适用于IPv4和IPv6。
要进行简单测试以检查端口是否打开, 你将执行以下操作。
nc -vz $HOSTNAME $PORT

让我们以在geekflare.com上测试443端口为例。
[[email  protected] ~]# nc -vz geekflare.com 443 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 104.25.133.107:443. Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds. [[email  protected] ~]#

如前所述, 你还可以使用nc绑定连接以侦听特定端口。当你没有实际的服务在运行但想要确保存在连接时, 这会很方便。
要开始监听端口:
nc -l $PORTNUMBER

它将绑定给定编号的端口。
如果未安装ncat, 则可以在CentOS / RHEL服务器上使用yum install nc来完成。
getwget是用于下载/测试HTTP, HTTPS和FTP的有用命令。如果你是一名Web工程师, 或者经常处理与Web相关的问题, 那么wget是你的朋友。使用wget进行测试非常简单。
wget $URL

这是测试工具的示例。geekflare.com
[[email  protected] ~]# wget tools.geekflare.com --2019-05-09 20:40:01--http://tools.geekflare.com/ Resolving tools.geekflare.com (tools.geekflare.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ... Connecting to tools.geekflare.com (tools.geekflare.com)|104.25.134.107|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://tools.geekflare.com/ [following] --2019-05-09 20:40:01--https://tools.geekflare.com/ Connecting to tools.geekflare.com (tools.geekflare.com)|104.25.134.107|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: 'index.html.2'[ < => ] 15, 139--.-K/sin 0.001s2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved [15139][[email  protected] ~]#

如果显示已连接, 则说明没有连接问题。
curl卷发是一种多功能工具。
你知道可以使用curl远程登录到端口吗?
好吧, 现在你知道了。
curl -v telnet://$IP:$PORT

以下是一个工作示例。
[[email  protected] ~]# curl -v telnet://chandan.io:443 * About to connect() to chandan.io port 443 (#0) *Trying 104.31.68.106... * Connected to chandan.io (104.31.68.106) port 443 (#0)

而且, 当没有侦听端口或防火墙问题时, 你将看到尝试…
[[email  protected] ~]# curl -v telnet://chandan.io:4434 * About to connect() to chandan.io port 4434 (#0) *Trying 104.31.68.106...

你也可以使用curl下载数据。它支持多种协议-HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER等。
nmap具有数百种功能的流行工具。通常, 这被视为安全工具。 nmap可让你测试单个IP /端口或该范围内的IP。
测试单个端口
nmap -p $PORT $IP

在siterelic.com上测试端口443的示例
[[email  protected] ~]# nmap -p 443 siterelic.com Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTC Nmap scan report for siterelic.com (104.27.174.50) Host is up (0.0079s latency). Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32PORTSTATE SERVICE 443/tcp openhttpsNmap done: 1 IP address (1 host up) scanned in 0.13 seconds [[email  protected] ~]#

查看状态列。如果看到打开, 则表示连接正常。而且, 如果状态被过滤, 则表示不存在连通性。
总结
telnet正在逐步淘汰最新的Linux版本。由于上述telnet替代方案。
如果你是Linux的新手并希望学习, 请查看此Udemy课程。

    推荐阅读