tracert原理及其实现(ping与arp和tracert三大命令详细用法)

tracert原理及其实现(ping与arp和tracert三大命令详细用法)

  网络命令在我们检测网络故障和对网络进行基础的操作,用的非常多的,项目中也非常实用,如:网络经常掉线、网络时好时坏,网络很卡、监控有几路不显示等问题。

  这个在我们弱电VIP技术群里也多次讨论,之前发布过相关文章,本期我们再来总结下网络中使用较多且有效的三大命令用法,方便大家日常工作对网络的管理和故障排除。

  ping、arp、tracert三大命令配合使用,可以查出或解决网络中的大部分基本故障问题。

  一、Ping命令的详细用法

  在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为:

  1、用来检测网络的连通情况和分析网络速度

  2、根据域名得到服务器IP

  3、根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。

  ping的主要用法:

  我们通常会用它来直接ping ip地址,来测试网络的连通情况。

  类如这种,直接ping ip地址或网关,ping通会显示出以上数据。

  我们来系统的看下ping的六种用法。

  一、ping -t的用法

  不间断地Ping指定计算机,直到管理员中断。

  这就说明电脑连接路由器是通的,网络效果很好。下面按按住键盘的Ctrl+c终止它继续ping下去,就会停止了,会总结出运行的数据包有多少,通断的有多少了,可以反映出网络的情况。

  二、ping -a的使用

  ping-a解析计算机名与NetBios名。就是可以通过ping它的ip地址,可以解析出主机名。

  三、ping -n的使用

  这个我们在昨天的20道题中就有一个考这个命令,在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送10个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:

  从以上我就可以知道在给47.93.187.142发送10个数据包的过程当中,返回了10个,没有丢失,这10个数据包当中返回速度最快为25ms,最慢为38ms,平均速度为27ms。说明我的网络良好。

  如果对于一些不好的网络,比如监控系统中非常卡顿,这样测试,返回的结果可能会显示出丢失出一部分,如果丢失的比较多的话,那么就说明网络不好,可以很直观的判断出网络的情况。

  四、ping -l size的使用

  -l size:发送size指定大小的到目标主机的数据包。

  在默认的情况下Windows的ping发送的数据包大小为32byt,最大能发送65500byt。当一次发送的数据包大于或等于65500byt时,将可能导致接收方计算机宕机。所以微软限制了这一数值;这个参数配合其它参数以后危害非常强大,比如攻击者可以结合-t参数实施DOS攻击。(所以它具有危险性,不要轻易向别人计算机使用)。

  例如:ping -l 65500 -t 211.84.7.46

  会连续对IP地址执行ping命令,直到被用户以Ctrl+C中断.

  这样它就会不停的向211.84.7.46计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,网络严重堵塞,由此可见威力非同小可。

  五、ping -r count 的使用

  在“记录路由”字段中记录传出和返回数据包的路由,探测经过的路由个数,但最多只能跟踪到9个路由。

  ping -n 1 -r 9 202.102.224.25 (发送一个数据包,最多记录9个路由)

  将经过 9个路由经过都显示出来了,可以看上图。

  六、批量ping网段

  对于一个网段ip地址众多,如果单个检测实在麻烦,那么我们可以直接批量ping网段检测,那个ip地址出了问题,一目了然。

  先看代码,直接在命令行窗口输入:

  for /L %D in (1,1,255) do ping 10.168.1.%D

  IP地址段修改成你要检查的IP地址段。

  当输入批量命令后,那么它就自动把网段内所有的ip地址都ping完为止。

  那么这段“for /L %D in(1,1,255) do ping 10.168.1.%D” 代码是什么意思呢?

  代码中的这个(1,1,255)就是网段起与始,就是检测网段192.168.1.1到192.168.1.255之间的所有的ip地址,每次逐增1,直接到1到255这255个ip检测完为止。

  ping命令用的较多的就这6类的,大家有可能在项目中会用到的。

  二、ARP命令的使用

  arp是地址解析协议,其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。

  说白了,就是把通过ip地址找到设备mac地址。

  arp的命令一般有三个用法,就是查询显示、添加记录、与删除记录,这个在我们做网络项目时经常会用到。

  1、arp -a ,当你需要显示当期ip地址对应的mac地址时使用

  当你需要了解你网络中设备对应的mac地址时,你可以使用arp地址进行显示,这个有利于我们可以清楚了解到ip地址对应的mac地址是哪台设备。

  在命令提示符中输入“arp -a”并回车;自动在缓存中,读取IP地址和mac地址的对应关系表;

  2、arp -s ,当你需要手动添加或绑定一条arp记录时使用。

  手工输入一条ARP项目,格式为“ARP+空格+-a+IP地址+MAC地址”;

  在网络中,通常在办公网络或监控项目中,为了防止用户乱改ip地址或ip地址冲突,我们需要给ip地址绑定设备的mac地址。

  如下图,先用ARP -s 192.168.1.1 3c-22-3f-5d-f6-77绑定一条记录,然后用arp -a查询了ARP记录添加是否成功。

  其实这个命令也叫作绑定mac地址的命令,例如一个公司的网络,员工经常喜欢改自己电脑的ip地址,经常会造成ip地址混乱,无法管理,那么这个时候你只需要把它的ip地址与它电脑mac地址进行绑定,那么下次出现网络故障,就可以直接mac地址定位到那几台电脑。

  3、arp -d,当你觉得某条arp记录有问题时,可以删除。

  功能为:删除所有ARP记录

  其实如果想彻底清空ARP列表,需要您禁止所有网络连接,否则网络数据交互过程中仍然会产生新的ARP列表。

  当你网络中出了问题,可能是有某些ip地址发生冲突了,mac对应的ip地址有误,那么你可以对它进行删除这条arp记录,然后重新添加新的记录,网络问题就会得到解决。

  三、tracert命令使用

  tracert是路由跟踪命令,用于确定 IP 数据包访问目标所采取的路径。

  在使用Tracert命令之前,我们先来简单地介绍一下它的语法。其中最简单也是最常用的命令格式为:

  基本用法

  例1、检测ip地址经过几个跃点

  这里面是经过了两个跃点。

  例2:检测网址经过几个跃点

  例3、“tracert -d baidu.com”代表不将IP地址解析到主机名称,

  如下图所示:

  例4、“tracert -h 3 baidu.com”代表本次tracert搜索的最大跳数。

  输入3表示搜索在路由器跳转3次,如下图所示:

  这个就是查跟设备最近的几个连接点的问题,通常在网络问题中,先要排除前端跟设备直接连接的最近的几个设备是否有故障,如果这几个近点跟踪可以正常互通,那么问题可能就出现在后端。

  例5、“tracert -w 6 baidu.com”代表tracert为每次回复所指定的毫秒数。

  其它命令根据需求,可以根据第二步图介绍使用,如下图所示:

  当网络很慢,或者很卡时,我们要检测是那个设备的反应速度比较慢,所以这里面可以设个标准值,例如上面是直接显示回复6ms以内的设备,超过6ms的设备不显示,就是反应比较慢的,这个数值可以根据情况设置。

推荐阅读