检查网络连通性的几种方法

这篇具有很好参考价值的文章主要介绍了检查网络连通性的几种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

检查网络连通性的几种方法

检查网络连通性是确保计算机或设备能够与其他设备或互联网通信的重要步骤。以下是一些用于检查网络连通性的方法:
Ping命令:
在命令提示符(Windows)或终端(Linux/macOS)中,使用ping命令。
例如,在Windows中:ping www.google.com 或在Linux/macOS中:ping -c 4 www.google.com。
如果成功,你将看到响应时间;如果失败,可能会显示超时消息。
Traceroute/Tracepath命令:
使用traceroute(Linux/macOS)或tracert(Windows)命令来查看数据包从源到目标的路径。
例如,在Windows中:tracert www.google.com 或在Linux/macOS中:traceroute www.google.com。
星号(*)表示无法获得响应。
Telnet/Netcat:
使用telnet或netcat命令尝试连接到特定的主机和端口。
例如:telnet www.example.com 80 或 nc -zv www.example.com 80。
成功连接将显示连接成功的消息。
DNS解析:
确保DNS服务器的正确性,可以尝试使用nslookup或dig命令进行DNS查询。
接下来将会罗列这几种方法的基本使用

ping

Linux ping 命令用于检测与另一个主机之间的网络连接。

执行 ping 指令会使用 ICMP(Internet Control Message Protocol) 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

语法

ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
参数说明:
-d 使用Socket的SO_DEBUG功能。
-c <完成次数> 设置完成要求回应的次数。
-f 极限检测。
-i<间隔秒数> 指定收发信息的间隔时间。
-I<网络界面> 使用指定的网络接口送出数据包。
-l<前置载入> 设置在送出要求信息之前,先行发出的数据包。
-n 只输出数值。
-p<范本样式> 设置填满数据包的范本样式。
-q 不显示指令执行过程,开头和结尾的相关信息除外。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-R 记录路由过程。
-s<数据包大小> 设置数据包的大小。
-t<存活数值> 设置存活数值TTL的大小。
-v 详细显示指令的执行过程。
-w 在 deadline 毫秒后退出。
-W 在等待 timeout 毫秒后开始执行。

实例

实例
检测是否与主机连通
ping www.baidu.com //ping主机
需要手动终止Ctrl+C
终止会打印包

--- aries.m.alikunlun.com ping statistics ---
10 packets transmitted, 30 received, 0% packet loss, time 29246ms
rtt min/avg/max/mdev = 0.021/0.035/0.078/0.011 ms

可以看到接受和发送了多少包,丢包率是多少
有个参数-f能够进行极限测试-f

ping -f www.baidu.com
--- www.baidu.com ping statistics ---
381 packets transmitted, 381 received, 0% packet loss, time 1047ms

可以看到1s种就发送了381个
-R可以打印进过主机的路由过程

ping -R www.baidu.com
PING www.baidu.com (www.baidu.com) 56(124) bytes of data.
64 bytes from www.baidu.com: icmp_seq=1 ttl=64 time=0.792 ms
RR:     IP1
        IP2
        IP2
        IP1

64 bytes from www.baidu.com: icmp_seq=2 ttl=64 time=1.15 ms       (same route)

也可以打印更详细的信息
sudo ping -v www.baidu.com
ping: socket: 权限不够, attempting raw socket…
PING www.baidu.com (www.baidu.com) 56(84) bytes of data
但似乎需要更高的权限,就不再测试了
ping -i 3 -s 1024 -t 255 g.cn //ping主机
-i 3 发送周期为 3秒 -s 设置发送包的大小 -t 设置TTL值为 255

tranceroute

显示数据包到主机间的路径
traceroute命令 用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。

traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址

语法

traceroute(选项)(参数)
选项
-d:使用Socket层级的排错功能;
-f<存活数值>:设置第一个检测数据包的存活数值TTL的大小;
-F:设置勿离断位;
-g<网关>:设置来源路由网关,最多可设置8个;
-i<网络界面>:使用指定的网络界面送出数据包;
-I:使用ICMP回应取代UDP资料信息;
-m<存活数值>:设置检测数据包的最大存活数值TTL的大小;
-n:直接使用IP地址而非主机名称;
-p<通信端口>:设置UDP传输协议的通信端口;
-r:忽略普通的Routing Table,直接将数据包送到远端主机上。
-s<来源地址>:设置本地主机送出数据包的IP地址;
-t<服务类型>:设置检测数据包的TOS数值;
-v:详细显示指令的执行过程;
-w<超时秒数>:设置等待远端主机回报的时间;
-x:开启或关闭数据包的正确性检验。

实例

traceroute www.58.com
traceroute to www.58.com (211.151.111.30), 30 hops max, 40 byte packets
 1  unknown (192.168.2.1)  3.453 ms  3.801 ms  3.937 ms
 2  221.6.45.33 (221.6.45.33)  7.768 ms  7.816 ms  7.840 ms
 3  221.6.0.233 (221.6.0.233)  13.784 ms  13.827 ms 221.6.9.81 (221.6.9.81)  9.758 ms
 4  221.6.2.169 (221.6.2.169)  11.777 ms 122.96.66.13 (122.96.66.13)  34.952 ms 221.6.2.53 (221.6.2.53)  41.372 ms
 5  219.158.96.149 (219.158.96.149)  39.167 ms  39.210 ms  39.238 ms
 6  123.126.0.194 (123.126.0.194)  37.270 ms 123.126.0.66 (123.126.0.66)  37.163 ms  37.441 ms
 7  124.65.57.26 (124.65.57.26)  42.787 ms  42.799 ms  42.809 ms
 8  61.148.146.210 (61.148.146.210)  30.176 ms 61.148.154.98 (61.148.154.98)  32.613 ms  32.675 ms
 9  202.106.42.102 (202.106.42.102)  44.563 ms  44.600 ms  44.627 ms
10  210.77.139.150 (210.77.139.150)  53.302 ms  53.233 ms  53.032 ms
11  211.151.104.6 (211.151.104.6)  39.585 ms  39.502 ms  39.598 ms
12  211.151.111.30 (211.151.111.30)  35.161 ms  35.938 ms  36.005 ms

记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用traceroute -q 4 www.58.com,表示向每个网关发送4个数据包。

有时我们traceroute一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加-n参数来避免DNS解析,以IP格式输出数据。

如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。

其他实例

traceroute -m 10 www.baidu.com 跳数设置
traceroute -m 10 www.baidu.com # 跳数设置
traceroute -n www.baidu.com    # 显示IP地址,不查主机名
traceroute -p 6888 www.baidu.com  # 探测包使用的基本UDP端口设置6888
traceroute -q 4 www.baidu.com  # 把探测包的个数设置为值4
traceroute -r www.baidu.com    # 绕过正常的路由表,直接发送到网络相连的主机
traceroute -w 3 www.baidu.com  # 把对外发探测包的等待响应时间设置为3秒

Telnet

使用telnet或netcat命令尝试连接到特定的主机和端口。
例如:telnet www.example.com 80 或 nc -zv www.example.com 80。
成功连接将显示连接成功的消息。

运行 telnet 命令:
telnet [hostname or IP address] [port]
例如:
telnet www.example.com 80
常用选项:
-l : 指定登录用户名。
telnet -l username www.example.com
-p : 指定连接的端口号。
telnet www.example.com 8080
交互模式:
一旦连接成功,你将进入交互模式,可以输入命令与目标主机进行交互。在 Web 服务器上,你可以尝试输入 HTTP 请求来获取网页:
GET / HTTP/1.1
Host: www.example.com
按 Enter 后,你将看到服务器的响应。

nslookup

查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。

语法

非交互式:
nslookup domain [dns-server]
例如:

nslookup baidu.com
Server:         10.30.8.8
Address:        10.30.8.8#53

Non-authoritative answer:
Name:   baidu.com
Address: 39.156.66.10
Name:   baidu.com
Address: 110.242.68.66

//如果没有指定dns服务器,就采用系统默认的dns服务器。
交互式:

[root@localhost ~]# nslookup
> baidu.com             
Server:         10.30.8.8
Address:        10.30.8.8#53

返回信息说明
server:本机DNS服务器信息
Non-authoritative answer:非权威应答。除非实际存储DNS Server中获得域名解析回答的,都称为非权威应答。也就是从缓存中获取域名解析结果。
address:目标域名对应物理IP可有多个

查询其他记录

nslookup -qt = type domain [dns-server]
type:
A 地址记录(Ipv4)
AAAA 地址记录(Ipv6)
AFSDB Andrew -->文件系统数据库服务器记录
ATMA -->ATM地址记录
CNAME -->别名记录
HINHO -->硬件配置记录,包括CPU、操作系统信息
ISDN -->域名对应的ISDN号码
MB -->存放指定邮箱的服务器
MG -->邮件组记录
MINFO -->邮件组和邮箱的信息记录
MR -->改名的邮箱记录
MX -->邮件服务器记录
NS --> 名字服务器记录
PTR ->反向记录
RP -->负责人记录
RT -->路由穿透记录
SRV -->TCP服务器信息记录
TXT -->域名对应的文本信息
X25 -->域名对应的X.25地址记录

防火墙检查与设置

iptable与firewall文章来源地址https://www.toymoban.com/news/detail-843597.html

到了这里,关于检查网络连通性的几种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spring Cloud系列】- 分布式系统中实现幂等性的几种方式

    在开发订单系统时,我们常遇见支付问题,既用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。在以前的单应用系统中,

    2024年02月10日
    浏览(46)
  • 详解【计算机类&面试真题】军队文职考试——第8期:OSI的七层模型 | 数据通信的三种方式 | 通信网络的检查方法,附Python进行网络连通性检查、带宽测试、端口扫描、链路质量测试、安全性扫描

      不知道命运是什么,才知道什么是命运。———史铁生     🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌟[2] 2022年度博客之星人工智能领域TOP4🌟   🏅[3] 阿里云社区特邀专家博主🏅   🏆[4] CSDN-人工智能领域优质创作者🏆

    2024年01月25日
    浏览(55)
  • JavaScript中 判断网络状态的几种方法

    1. 使用 Navigator onLine 属性 Navigator onLine 属性判断浏览器是否在线,在线返回 true,离线返回 false; Navigator onLine 是只读属性,所有主流浏览器都支持 onLine 属性; 2. 使用 ononline、onoffline 事件 这两个方法属于 “侦听器”,在网络连接 / 断开的瞬间会触发(当网络从离线变为在

    2024年01月24日
    浏览(49)
  • Ubuntu虚拟机网络无法连接的几种解决方法

    1.重启网络编辑器 1.1点击编辑------选择虚拟网络编辑器 1.2点解更改设置,随后点击恢复默认值 2.重启虚拟机网络适配器 2.1点击编辑虚拟机设置 2.2点击移除网络适配器 2.3点击添加------选择网络适配器---------点击完成 3.重启虚拟机网络服务器 ctrl+alt+t打开虚拟机命令终端,依次

    2024年02月14日
    浏览(52)
  • 设置路由器刷新堵塞网络的几种常见方法介绍

    一般网络堵塞是造成网络变卡的原因,一般我们可以先断开网络再次的链接就OK了,那么再使用路由器上实现这个效果呢?下面分别介绍一种方法,保准你可以迅速的搞定。 禁用本地连接再重新启用的这种方式最常用的。具体的做法是先在桌面的右下角点击网络链接,然后就

    2024年02月06日
    浏览(41)
  • Java检测网络是否连通检查ip、URL和API接口

    只能通过状态码是否为404判断,如果网络不通则会连接失败到 catch 中返回false 请求方式必须全部字母大写,比如POST请求,不能写成post请求 如果请求方式错误,并不会连接失败,而是请求码得到的为405错误。但是得到的是405状态码非200状态码,可以显示连通。 JAVA检测url是否

    2024年02月10日
    浏览(42)
  • js几种打印方法的几种方法

    1. 引入插件: 首先,在您的 HTML 文件中引入 printJs 库。可以通过在 head 标签中添加以下代码来引入库文件: 这将从 CDN 加载 printJs 库的 JavaScript 文件和 CSS 文件。 2. 创建打印按钮: 在您的 HTML 文件中创建一个按钮,用于触发打印操作。例如: 3. 添加打印事件监听器: 在您的

    2024年02月13日
    浏览(51)
  • Python安装库的几种方法(使用Pycharm几种方法)

    1.我的Pycharm已经改成中文格式了 首先在Pycharm中进行安装库 进入Python解释器中。 里面搜素需要的库,可能速度很慢,有的库没有,可以采用别的方法。 2. cmd安装库文件 Windows+R进入CMD命令下。 直接输入 pip install *** 就可以了 就是自动安装需要的库。 3.直接使用别人已经安装好

    2024年02月13日
    浏览(48)
  • 生成矩阵的几种方法

    生成矩阵的几种方法 在 MATLAB 中,生成矩阵有许多种方法。下面介绍几种比较常用的方法。 使用 zeros 或 ones 函数 可以使用 MATLAB 中的 zeros 或 ones 函数来创建一个特定大小的全零或全一矩阵。这两个函数的语法如下: 其中,m 和 n 分别表示矩阵的行数和列数。例如,要创建一

    2024年02月04日
    浏览(49)
  • python的几种时间表示方法

    一、时间的几种表示方法 time时间模块儿获取当天的时间 1、详细表示当前的时间 import time time.localtime() 2、标准输出当前时间格式 import time time.strftime(\\\"%Y-%m-%d %H:%M:%S\\\",time.localtime()) datetime时间模块儿获取当天的时间 1、详细表示当前时间 import datetime time = datetime.datetime.now() pr

    2023年04月21日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包