无论你是一个网络维护人员,还是正在学习TCP/IP协议,了解和掌握一些常用的网络测试命令将会有助于您更快地检测到网络故障所在,同时也会有助你您了解网络通信的内幕。

下面我们逐步介绍几个常用的命令:

1、Ping命令。

当您的机器不能访问Internet,首先确认是否是本地局域网的故障。假定局域网的代理服务器IP地址为202.168.0.1,您可以使用ping 202.168.0.1命令查看本机是否和代理服务器联通。此外可以测试本机的网卡是否正常工作,使用 ping 127.0.0.1命令。一般返回ping的信息就表示本地到该主机的网络线路连通。

但是很多服务器为了防止攻击,一般会关闭对ping的响应。所以ping一般作为测试连通性使用。ping命令后,会接收到对方发送的回馈信息,其中记录着对方的IP地址和TTL。TTL是该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。例如IP包在服务器中发送前设置的TTL是64,你使用ping命令后,得到服务器反馈的信息,其中的TTL为56,说明途中一共经过了8道路由器的转发,每经过一个路由,TTL减1。

2、Tracert

Tracert命令用来显示数据包到达目标主机所经过的路径(路由器),并显示到达每个节点(路由器)的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。
           Tracert 先发送 TTL 为 1 的回应数据包,当数据包上的 TTL在路由器收到后TTL自动减1 ,一旦某个服务器将TTL减1后,等于了0,路由器应该将“ICMP Time Exceeded”的消息发回源计算机,源计算机就根据收到的信息判断达到的路由器和所用时间。下次再次发送数据包时,将TTL递增 1,继续上述测试,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL过期的数据包,这在 Tracert 实用程序中看不到,我们会显示请求超时的请求信息。下图所示,我们测试到新浪的路经过了8道路由,同时根据上图测试ping 新浪时候,TTL=56,说明新浪的TTL初始设置为64,经过8道路由后到达我们客户机,还剩下64-8 = 56。下图中请求超时的反馈信息是因为路由器对ping命令做了处理,关闭了ping的响应,所以我们收不到发给他的反馈信息。

3、pathping

pathping 命令是一个路由跟踪工具,它将 ping 和 tracert 命令的功能与这两个工具所不提供的其他信息结合起来,综合了二者的功能。pathping会先显示中间的通过的路由器(类似tracert命令得到的信息),然后对每个中间路由器(节点)发送一定数量的ping包,通过统计他们对ping包响应的数据包来分析通信质量。上面也提到了,有的路由器对ping关闭了响应,所以有的节点的丢包率会达到100%,所以这种一般就是关闭了ping回复。你可以自己ping试一下。还有,对ping包丢弃程度只是节点本身对ping的处理,并不一定影响他的通信,你可以看到,关闭ping命令节点的下一个节点返回到数据是正常的,说明回复的包都成功发送回来。总之,pathping 命令在一段时间内将数据包发送到将到达最终目标的路径上的每个路由器,然后根据从每个跃点返回的数据包计算结果。由于命令显示数据包在任何给定路由器或链接上丢失的程度,因此可以很容易地确定可能导致网络问题的路由器或链接。下图所示,我们看到,达到第二个就终止了,因为第二道节点(路由器),不支持ping,然后,程序就终止不在继续往下探测了。

  

4、 nslookup

        Nslookup命令用于解析域名,一般用来检测本机的DNS设置是否配置正确。如: nslookup 网站域名,即可解析出网站的IP地址。如图,可以看出解析www.163.com的时候,可以解析出它所有的IP地址,而如果网路出现异常或者无法收到服务器发送来的信息时候,会出现下面第二张图片的显示。服务器和Address代表是解析这些IP地址和域名的DNS服务器信息。比如我使用的DNS是jtjndc007.home.langchao.com, DNS服务器地址是10.100.1.11.
 
                                       
                                      
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangchenghaopeng/article/details/50548112

网络测试常用的命令-比较ping,tracert和pathping等命令之间的关系的更多相关文章

  1. 比较ping,tracert和pathping等命令之间的关系

    无论你是一个网络维护人员,还是正在学习TCP/IP协议,了解和掌握一些常用的网络测试命令将会有助于您更快地检测到网络故障所在,同时也会有助你您了解网络通信的内幕. 下面我们逐步介绍几个常用的命令: 1 ...

  2. java-关于java_home配置,classpath配置和javac,java命令,javac编译器,和java虚拟机之间的关系

    在每个人学习java的第一步,都是安装jdk ,jre,配置java_home,classpath,path. 为什么要做这些?在阅读java-core的时候,看到了原理,p141. 一 关于类的共享 ...

  3. Linux命令学习(20):traceroute命令

    版权声明 更新:2017-06-13博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2 ...

  4. 网工最实用最常用的网络命令之一——Ping 命令详解(一)

    Ping是Windows.Unix和Linux系统下的一个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障. ...

  5. linux常用命令:ping 命令

    Linux系统的ping 命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地 址192.168.1.1试试 ...

  6. 每天一个linux命令(41)--ping命令

    Linux系统的 ping 命令是常用的网络命令,它通常用来测试与目标主机的连通性,它通过发送 ICMP ECHO_REQUEST数据包到网络主机(send  ICMP  ECHO_REQUEST t ...

  7. Win10系统Ping端口及利用telnet命令Ping 端口

    启用 telnet 客户端组件为 Ping 端口做准备 在程序界面下,选择“打开或关闭Windows功能”,如下图所示: 在打开的对话框中,找到“Telnet客户端”并勾选.最后点击“确定”,等待几分 ...

  8. 常见网络命令之Ping命令

    前言:计算机网络老师要求我们自己总结一下常见的网络命,然后上课可以上去讲一下这些命令使用,像我这么听话的好学生,肯定是照老师要求,认真的总结了一下,总结的过程中,我发现网上已经有的资源讲的都不是很详细 ...

  9. Linux命令之ping

    ping [选项] destination ping命令向网络主机发送ICMP回传请求 详细描述:ping使用ICMP协议强制ECHO_REQUEST(回传请求)数据报从主机或网关获取ICMP协议的E ...

随机推荐

  1. shell细节决定高度

    1.文件测试操作符 -f[file]:文件存在且为普通文件则为真; -d[directory]:文件存在且为目录文件则为真; -s[size]:文件存在且为文件大小不为0则为真; -e[exist]: ...

  2. awk在企业中最常用的语句

    awk最常用以及面试基本都会被问到的实例: A.统计日志中每个URL被访问的次数 cat access.log http://www.etiantian.org/1.html http://post. ...

  3. ApplicationContext介绍

    如果说BeanFactory是Spring的心脏,那么ApplicationContext就是完整的身躯了.ApplicationContext由BeanFactory派生而来,提供了更多面向实际应用 ...

  4. Spring Cloud ZooKeeper集成Feign的坑3,程序Run模式运行没事,Debug模式下报错

    请更新Spring Cloud的版本: <dependency> <groupId>org.springframework.cloud</groupId> < ...

  5. 邁向IT專家成功之路的三十則鐵律 鐵律二十一:IT人用才之道-穿透

    在以道德為基礎的企業主管之人,其最根本的能力除了須要有洞悉事物的敏捷思維之外,眼光還必要有像水柱般一樣的穿山引石之能,如此不僅能夠為企業找到適才之人,更能為企業的永續經營奠定有如泰山般的基石.只可惜大 ...

  6. How to set the initial value of a select element using AngularJS ng-options & track by

    原文: https://www.gurustop.net/blog/2014/01/28/common-problems-and-solutions-when-using-select-element ...

  7. mySql 主从复制linux配置

    总结: 主库(192.168.1.251): /etc/my.cnf.d/server.cnf [mysqld] log-bin=mysql-bin server-id=1 从库(192.168.1. ...

  8. 在c++11中你最惊讶的新feature是什么?

    对我来说,我最惊讶竟然把对于多线程的支持加到标准中了.真的想不明确,对于c++这样一种语言.怎么会加进这个东西. 1. 由于各个平台的不同,对于多线程的支持会有很多平台独有的特色.这样c++标准的定义 ...

  9. ThinkPHP学习(五)图片验证码

    今天用到图片验证码的功能,在网上找到ThinkPHP的下面代码: Public function verify(){ import('think.Image'); Image::buildImageV ...

  10. OA权限树搭建 代码

    <ul id="tree"> <s:iterator value="#application.topPrivilegeList"> &l ...