当前位置: 首页 > news >正文

如何测试两端网络是否连通?—— 实用方法与工具详解

人不走空

                                                                      

      🌈个人主页:人不走空      

💖系列专栏:算法专题

⏰诗词歌赋:斯是陋室,惟吾德馨

在运维、开发和网络管理中,经常需要检查两台服务器、两个网络设备或客户端与服务端之间的网络连通性。本文将介绍多种方法,帮助你快速判断网络是否通畅,并定位潜在问题。


目录

      🌈个人主页:人不走空      

💖系列专栏:算法专题

⏰诗词歌赋:斯是陋室,惟吾德馨

​1. 基础网络连通性测试

​1.1 Ping(ICMP协议测试)​

​使用方法

​结果分析

​高级选项

​1.2 Telnet(测试TCP端口连通性)​

​使用方法

​结果分析

​1.3 Traceroute(追踪网络路径)​

​使用方法

​结果分析

​2. 高级网络测试工具

​2.1 Curl(测试HTTP/HTTPS服务)​

​使用方法

​结果分析

​2.2 Netcat(万能网络测试工具)​

​测试TCP端口

​结果分析

​2.3 SSH测试

​3. 自动化测试脚本(Shell/Python)​

​Shell脚本示例

​Python脚本示例

​4. 常见问题排查

​5. 总结

作者其他作品:


 

1. 基础网络连通性测试

1.1 Ping(ICMP协议测试)​

ping 是最常用的网络连通性测试工具,基于 ​ICMP协议,用于检查目标主机是否可达。

使用方法
 
ping <目标IP或域名>

示例

 
ping 8.8.8.8
ping www.google.com
结果分析
  • 能收到回复(Reply)​:网络通畅。
  • 请求超时(Request timeout)​:网络不通或目标禁用了ICMP。
  • Destination Host Unreachable:本地路由不可达。
高级选项
  • -c 指定发送次数(Linux/macOS):
    ping -c 4 8.8.8.8  # 发送4次后停止
  • -t 持续ping(Windows):
    ping -t 8.8.8.8  # 按 Ctrl+C 停止

1.2 Telnet(测试TCP端口连通性)​

如果目标禁用了ICMP,可以使用 telnet 测试 ​TCP端口 是否开放。

使用方法
telnet <目标IP> <端口号>

示例

telnet 192.168.1.1 80  # 测试80端口(HTTP)
结果分析
  • Connected to...:端口开放,网络通畅。
  • Connection refused:端口未开放或防火墙拦截。
  • Timeout:网络不通或目标未响应。

注意:部分系统默认未安装 telnet,可手动安装:

  • Ubuntu/Debiansudo apt install telnet
  • CentOS/RHELsudo yum install telnet
  • Windows:在“启用或关闭Windows功能”中勾选Telnet客户端。

1.3 Traceroute(追踪网络路径)​

如果网络不通,可以使用 traceroute(Linux/macOS)或 tracert(Windows)查看数据包经过的路由节点,定位问题所在。

使用方法
traceroute <目标IP或域名>

示例

traceroute www.google.com

Windows

tracert www.google.com
结果分析
  • 显示每一跳(hop)的IP和延迟。
  • 如果某跳之后无响应,可能是该节点故障或防火墙拦截。

2. 高级网络测试工具

2.1 Curl(测试HTTP/HTTPS服务)​

如果目标运行Web服务,可以用 curl 测试HTTP/HTTPS连通性。

使用方法
curl -I <URL>  # 仅获取HTTP头
curl -v <URL>  # 显示详细请求过程

示例

curl -I https://www.google.com
结果分析
  • HTTP 200/301/302:服务正常。
  • Connection refused/timeout:网络不通或服务未运行。

2.2 Netcat(万能网络测试工具)​

nc(netcat)可以测试 ​任意TCP/UDP端口,甚至模拟客户端/服务器通信。

测试TCP端口
nc -zv <目标IP> <端口>

示例

nc -zv 192.168.1.1 22  # 测试SSH端口
结果分析
  • succeeded:端口开放。
  • Connection refused:端口关闭或防火墙拦截。

2.3 SSH测试

如果目标运行SSH服务,可以直接尝试连接:

ssh <用户名>@<目标IP>

结果分析

  • 能登录:网络和SSH服务均正常。
  • Connection timed out:网络不通或SSH未运行。
  • Permission denied:认证失败,但网络通畅。

3. 自动化测试脚本(Shell/Python)​

Shell脚本示例

#!/bin/bash
TARGET="8.8.8.8"
PORT="80"

# 测试Ping
ping -c 3 $TARGET > /dev/null && echo "Ping: OK" || echo "Ping: FAIL"

# 测试TCP端口
nc -zv $TARGET $PORT 2>&1 | grep -q "succeeded" && echo "Port $PORT: OK" || echo "Port $PORT: FAIL"

Python脚本示例

import socket
import os

def check_connection(host, port):
    try:
        socket.create_connection((host, port), timeout=3)
        print(f"✅ {host}:{port} is reachable")
    except Exception as e:
        print(f"❌ {host}:{port} is unreachable: {e}")

check_connection("8.8.8.8", 80)

4. 常见问题排查

问题可能原因解决方案
Ping不通防火墙禁ICMP、网络断开改用telnet/nc测试端口
Telnet超时目标服务未运行、防火墙拦截检查服务状态、开放端口
能Ping但端口不通目标服务未监听该端口netstat -tulnp 检查服务
间歇性丢包网络拥塞、路由问题mtrtraceroute增强版)分析

5. 总结

工具适用场景命令示例
ping基础ICMP连通性ping 8.8.8.8
telnetTCP端口测试telnet 192.168.1.1 80
nc任意TCP/UDP测试nc -zv 8.8.8.8 443
curlHTTP/HTTPS服务测试curl -I https://google.com
traceroute路由追踪traceroute google.com

掌握这些方法后,你可以快速诊断网络问题,确保服务稳定运行! 🚀

作者其他作品:

【Java】Spring循环依赖:原因与解决方法

OpenAI Sora来了,视频生成领域的GPT-4时代来了

[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读

【Java】深入理解Java中的static关键字

[Java·算法·简单] LeetCode 28. 找出字a符串中第一个匹配项的下标 详细解读

了解 Java 中的 AtomicInteger 类

算法题 — 整数转二进制,查找其中1的数量

深入理解MySQL事务特性:保证数据完整性与一致性

Java企业应用软件系统架构演变史 

相关文章:

  • Spring Bean生命周期执行流程详解
  • 对Android中zygote的理解
  • 安装OpenJDK1.8 17 (macos M芯片)
  • Qt 入门 3 之对话框 QDialog
  • 前端性能优化实战:从 Webpack 到 Vite 的全栈提速方案
  • 解锁 MCP:模型上下文协议的介绍与应用​,技术解析与应用场景
  • 顶刊【遥感目标检测】【TGRS】LSKF-YOLO:面向高分辨率卫星遥感影像电力塔检测的大规模选择性核特征融合网络
  • LeetCode hot 100—编辑距离
  • 记录一下学习docker的命令(不断补充中)
  • 微信小程序跳
  • oracle json笔记
  • 线程同步与互斥(下)
  • 关于 Spring Boot + Vue 前后端开发的打包、测试、监控、预先编译和容器部署 的详细说明,涵盖从开发到生产部署的全流程
  • spring 依赖注入的好处
  • vscode远程连接树莓派报错> Host key verification failed.> 过程试图写入的管道不存在。
  • mysql-innodb_autoinc_lock_mode=2 和innodb_autoinc_lock_mode=1可能引发的问题
  • CISP-PTE WEB题通关记录
  • 基于Kubeadm实现K8S集群扩缩容指南
  • 第十一届 蓝桥杯 嵌入式 省赛
  • cache更新策略
  • 长春建设局网站/链接
  • 西安网站建设公司有哪些/平台推广方式
  • 怎么可以做自己的网站/网络营销最新案例
  • 郑州网站建设国奥大厦/国内seo服务商
  • wordpress subway/深圳seo优化排名推广
  • 如何跟进网站建设的客户/班级优化大师免费下载电脑版