个性化阅读
专注于IT技术分析

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

本文概述

想知道如何检查两个网络端点之间的连接?

sysadmin的常见任务之一是检查连接以解决网络问题。可能是因为应用程序无法连接到后端服务, 无法从外部URL获取数据, 验证流是否已打开等。

无论是什么, 以下实用程序/命令都将为你提供帮助。它们已经在CentOS 7.x上进行了测试, 我看不出有任何理由不能在其他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或nc

Ncat(又名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来完成。

get

wget是用于下载/测试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/s   in 0.001s  

2019-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:af32

PORT    STATE SERVICE
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
[[email protected] ~]#

查看状态列。如果看到打开, 则表示连接正常。而且, 如果状态被过滤, 则表示不存在连通性。

总结

telnet正在逐步淘汰最新的Linux版本。由于上述telnet替代方案。

如果你是Linux的新手并希望学习, 请查看此Udemy课程。

赞(0)
未经允许不得转载:srcmini » 5个Linux实用程序,用于测试网络连接

评论 抢沙发

评论前必须登录!