Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >运维分享|测试主机间的连通性方法总结

运维分享|测试主机间的连通性方法总结

原创
作者头像
六月暴雪飞梨花
发布于 2023-11-20 18:23:55
发布于 2023-11-20 18:23:55
1.4K00
代码可运行
举报
运行总次数:0
代码可运行

很多时候,我们需要测试两台或者多台机器的网络策略是否是连通状态。当然,在做系统集成时,这个就更显得尤为重要了。

方法一:使用telnet命令

【命令功能描述】

telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议和主要方式。

它为用户提供了在本地计算机上完成远程主机工作的能力。因此可以使用telnet 来测试远程机器的连通性。

【语法】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 测试主机连通性
telnet IP PORT

【例子】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ $ telnet baidu.com 80
Trying 110.242.68.66...
Connected to baidu.com.
Escape character is '^]'.

【检查】

出现 Connected 表明连接成功。如果连接不成功,也不会打印出来上面的信息。

⚠️注意:一般情况下,在生产(线上)环境,为了安全起见,我们都是要求卸载 telnet 这个工具。

方法二:使用wget命令

【命令功能描述】

wget是一个用于从网络上下载文件的命令行工具,它可以通过指定URL来下载文件,并保存到本地计算机上。

【语法】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 测试主机连通性
wget IP:PORT

【例子】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ $ wget 110.242.68.66:80
--2023-08-24 17:05:42--  http://110.242.68.66/
正在连接 110.242.68.66:80... 已连接。
已发出 HTTP 请求,正在等待回应... 读取文件头错误 (Connection reset by peer)。
重试中。

【检查】

出现 已连接 表明连接成功。

方法三:使用curl命令

【命令功能描述】

curl 是利用 URL 语法在命令行方式下工作的开源文件传输工具。也可以用来测试端口的连通性。 适合验证第三方提供的地址是否可以连通。

【语法】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 测试主机连通性
curl IP:PORT

【例子】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ $ curl -x 110.242.68.66:80 -v www.baidu.com
*   Trying 110.242.68.66:80...
* Connected to (nil) (110.242.68.66) port 80 (#0)
> GET http://www.baidu.com/ HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.86.0
> Accept: */*
> Proxy-Connection: Keep-Alive
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Thu, 24 Aug 2023 09:15:38 GMT
< Server: Apache
< Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT
< ETag: "51-47cf7e6ee8400"
< Accept-Ranges: bytes
< Content-Length: 81
< Cache-Control: max-age=86400
< Expires: Fri, 25 Aug 2023 09:15:38 GMT
< Connection: Keep-Alive
< Content-Type: text/html
<
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
* Connection #0 to host (nil) left intact

【检查】

出现 **Connected** 表明连接成功。这个比较少用,一般我们使用他下载数据包,这也是一种检测方法(今天只讨论这个)。

方法四:使用traceroute命令

【命令功能描述】

它是一个用于测试网络路径的命令,可以用来查看数据从源主机到目标主机所经过的网络节点。

【语法】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
traceroute --help
Version 1.4a12+Darwin
Usage: traceroute [-adDeFInrSvx] [-A as_server] [-f first_ttl] [-g gateway] [-i iface]
	[-M first_ttl] [-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]
	[-t tos] [-w waittime] [-z pausemsecs] host [packetlen]

【例子】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ $ traceroute www.baidu.com
traceroute: Warning: www.baidu.com has multiple addresses; using 14.119.104.189
traceroute to www.a.shifen.com (14.119.104.189), 64 hops max, 52 byte packets
 1  192.168.1.1 (192.168.1.1)  9.629 ms  1.177 ms  1.200 ms
 2  116.21.40.1 (116.21.40.1)  4.135 ms  3.433 ms  4.057 ms
 3  14.147.6.250 (14.147.6.250)  9.918 ms
    58.62.247.245 (58.62.247.245)  7.025 ms
    14.147.11.166 (14.147.11.166)  6.280 ms

【检查】

略。

方法五:使用ping命令

【命令功能描述】

PIng是一个用于测试网络连接的命令。当我们进行Ping时,计算机会向目标IP地址发送一个数据包,并等待该地址返回响应。通过这个过程,我们可以确定网络连接的可用性和响应时间。

【语法】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 测试主机连通性
ping IP

【例子】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ $ ping www.baidu.com
PING www.a.shifen.com (14.119.104.254): 56 data bytes
64 bytes from 14.119.104.254: icmp_seq=0 ttl=56 time=5.401 ms
64 bytes from 14.119.104.254: icmp_seq=1 ttl=56 time=6.826 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 5.401/6.114/6.826/0.712 ms

【检查】

出现 64 bytes from 14.119.104.254: icmp_seq=0 ttl=56 time=5.401 ms 表明连接成功。停止时需要手工停止。

方法六:使用tcpdump命令

【命令功能描述】

当需要测试报文是否发送到对端,也可以使用 tcpdump 命令进行抓包分析。

通常使用的方式是通过 tcpdump 命令抓取数据包,然后通过wireshake 工具进行分析。

【语法】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ $ tcpdump --help
tcpdump version 4.99.1 -- Apple version 127
libpcap version 1.10.1
LibreSSL 3.3.6
Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [--count]
		[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
		[ -i interface ] [ --immediate-mode ] [ -j tstamptype ]
		[ -M secret ] [ --number ] [ --print ] [ -Q in|out|inout ]
		[ -r file ] [ -s snaplen ] [ -T type ] [ --version ]
		[ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ]
		[ --time-stamp-precision precision ] [ --micro ] [ --nano ]
		[ -z postrotate-command ] [ -Z user ] [ expression ]
		[ --apple-oneline] [ -g ]
		[ --apple-md-print (metadata_arg)] [ -k (metadata_arg)]
		[ --apple-pcapng] [ -P ]
		[ --apple-md-filter meta-data-expression] [ -Q meta-data-expression ]
		[ --apple-ext-fmt n ] [--apple-arp-plain]
		[ --apple-compression n ] [--apple-truncate] [--apple-pktapv2 ]
		[ --apple-head-drop ]

方法七:使用tcping命令

【命令功能描述】

tcping是一种面向连接的、可靠的、基于字节流的传输层通信协议。使用tcp协议尝试与某一个端口建立连接,然后获取与对方主机建立一次连接的回复。

ping命令可以检查网络的连通性,帮助分析和判定网络故障,是WindowsUnixLinux系统下的一个命令。有些网络禁ping,想知道网络和端口的连通性,tcping就是一个不错的选择。而tcping是使用tcp协议尝试与某一个端口建立连接,然后获取与对方主机建立一次连接的回复。使用tcping需要下载工具到windows。

方法八:使用ssh命令

【命令功能描述】

ssh 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在 linux上可以通过 ssh 命令来测试端口的连通性。

【语法】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 测试主机连通性
ssh -v -p PORT Username@IP

【例子】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ $ Aion@Macbook ~ $ ssh -v -p 80 root@baidu.com
OpenSSH_9.0p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/Aion/.ssh/config
debug1: /Users/Aion/.ssh/config line 3: Applying options for *
debug1: /Users/Aion/.ssh/config line 47: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to baidu.com port 80.
debug1: Connection established.
debug1: identity file /Users/Aion/.ssh/id_ed25519 type 3
debug1: identity file /Users/Aion/.ssh/id_ed25519-cert type -1
debug1: identity file /Users/Aion/.ssh/xinan_id_rsa type 0
debug1: identity file /Users/Aion/.ssh/xinan_id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.0

【检查】

出现 Connecting to baidu.com port 80* 表明连接成功。

方法九:其他命令

其他命令也有很多,例如 mtr 、 nmap 、 nslookup 。


我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
检查服务器端口连通性的几种方法
在日常运维工作中,经常会需要检查本机或者其他服务器的端口开放情况,虽然自己本身也会几个基本的查看端口连通性的命令,但是也会遇到某些服务器上面没有安装自己会的工具,所以收集了一些可以用来检测端口连通性的命令工具。
Hopetree
2022/09/26
3K0
centos系统6种常见的测试工具
其中,14.215.177.38 是目标主机的 IP 地址,icmp_seq 表示发送的第几个数据包,ttl 表示数据包经过的路由器个数,time 表示数据包往返时间。
IT运维技术圈
2023/09/07
1.4K0
centos系统6种常见的测试工具
ping, telnet, tcping 命令使用及对比
1. ping 命令 ping 命令只能检查 IP 的连通性或网络连接速度,无法具体到某个端口。
全栈程序员站长
2022/09/09
4.2K1
ping, telnet, tcping 命令使用及对比
三大操作系统常用网络命令速查表:Windows、Linux、macOS 一网打尽!
大家好,我是神唱,在日常的网络管理、故障排查和调试过程中,我们经常需要使用各种网络命令。掌握 常用网络命令都能让你事半功倍!
神的孩子都在歌唱
2025/03/17
1570
三大操作系统常用网络命令速查表:Windows、Linux、macOS 一网打尽!
春招面试网络管理命令必知必会
1.基本工具2.网络查看与配置2.1 网络查看2.2 网络配置3.网关查看及配置3.1 查看网关(或者路由)3.2 网关配置4.网络故障排除5.网络服务管理5.1 概论5.2 实践5.3 主机名5.4 静态IP配置方式15.5 静态IP配置方式2
公众号guangcity
2020/02/24
9370
linux基础命令介绍六:网络
本文将讲述网络相关命令,作者假定读者具备TCP/IP协议栈的基础知识。对于相关命令及其输出只介绍它的基本的使用方法和大概的描述,具体协议将不作详细解释。
用户5030870
2019/04/11
1.9K0
linux定位问题常用命令
如果要显示所有的网络接口,包含在线(up)的或下线(down)的,使用-a 选项。
聂伟星
2020/08/28
2.7K0
每天学一个 Linux 命令(62):ping
ping 是一种向网络上的另一台计算机发送网络数据并从其接收网络数据的简单方法。它通常用于测试与另一个系统是否可以通过网络访问,如果可以,则需要花费多少时间来交换该数据。
民工哥
2021/03/30
1.6K0
linux测试主机间网络连通性ping命令
ping命令主要用来测试主机之间网络的连通性,也可以用于。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
用户1685462
2021/07/18
2.1K0
traceroute 工作原理
ICMP 的一个重要应用就是分组网间探测 PING(Packet InterNet Groper),用来测试两台主机之间的连通性。PING 使用了 ICMP 回送请求与回送回答报文。PING 是应用层直接使用网络层 ICMP 的一个例子。他没有通过传输层的 TCP 或 UDP。
全栈程序员站长
2022/08/28
8850
比telnet更牛更好用进行TCP端口连通性测试工具
TCP connect to 175.25.168.95:80: 501 iterations (warmup 1) ping test: Connecting to 175.25.168.95:80 (warmup): from 10.91.1.4:51531: 2.28ms Connecting to 175.25.168.95:80: from 10.91.1.4:51532: 1.86ms Connecting to 175.25.168.95:80: from 10.91.1.4:51533: 2.67ms .................... Connecting to 175.25.168.95:80: from 10.91.1.4:52029: 1.90ms Connecting to 175.25.168.95:80: from 10.91.1.4:52030: 2.69ms Connecting to 175.25.168.95:80: from 10.91.1.4:52031: 2.69ms Connecting to 175.25.168.95:80: from 10.91.1.4:52032: 2.39ms
入门笔记
2022/06/02
3.2K0
掌握网络架构核心!了解为什么要分层
网络诞生前夜,IP协议、TCP协议都不存在,而你是网络缔造者,你会选择做怎样设计?
JavaEdge
2023/07/09
5180
掌握网络架构核心!了解为什么要分层
Linux查看网络连接情况的hostname命令
hostname命令用于显示和设置系统的主机名称,设置只是临时生效,永久生效需要更改配置文件。
用户4988085
2021/07/21
5.3K0
linux系统使用ping测试主机间网络连通性的命令
ping命令主要用来测试主机之间网络的连通性,也可以用于。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
用户1685462
2021/09/08
1.4K0
Linux系统下的测试主机间网络连通性ping命令
ping命令主要用来测试主机之间网络的连通性,也可以用于。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
用户1685462
2021/07/24
1.8K0
Linux网络检测相关工具用法(ping/netstat/ss/ethtool)
当新的Linux主机完成了网络配置,即可以正常接入网络后,我们可以通过Linux自带的相关工具进行网络相关检测。如最常用的ping,netstat,ss,traceroute,ethtool等相关命令。本文主要是描述这几个命令的使用方法,供大家参考。
Leshami
2018/08/06
3.1K0
【在Linux世界中追寻伟大的One Piece】DNS与ICMP
TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序。但是IP地址不方便记忆。
枫叶丹
2024/10/10
1230
【在Linux世界中追寻伟大的One Piece】DNS与ICMP
ping容易忽略的10点用法和排查问题技巧
ping 相信是很多人非常常用的命令,但究竟有多少人把它的动能发挥到最大了呢?今天就来看看你可能会忽略的一些功能,我不敢说使用了这些就能发挥 ping 的最大功能,大家有什么补充的,欢迎留言。
网络工程师笔记
2021/05/17
1.4K0
运维脚本:测试网络连通性
迷途小书童
2024/10/30
1621
浏览器界面无显示,提示“代理服务器可能有问题”,这是怎么回事呢?
某天下午我正常的打开我的电脑,准备吃点小零食,看会b站,但是当我打开我的浏览器后,发现如下的界面提示情况:
用户11288949
2025/04/27
1570
浏览器界面无显示,提示“代理服务器可能有问题”,这是怎么回事呢?
相关推荐
检查服务器端口连通性的几种方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验