一、tracert工作过程分析

Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

首先,tracert送出一个TTL是1的IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL减1。此时,TTL变为0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert 再送出另一个TTL是2 的数据包,发现第2 个路由器...... tracert 每次将送出的数据包的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个数据包 抵达目的地。当数据包到达目的地后,该主机则不会送回ICMP time exceeded消息,一旦到达目的地,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此会收到「ICMP port unreachable」消息,故可判断到达目的地。

tracert 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Tracert给TTL记数器加1,继续进行。

图4-5-1 Tracert命令

图4-5-2 Tracert发送的数据包 (TTL递增顺序)

图4-5-3 Tracert接收的数据包

二、ping 工作过程分析

PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP echo请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。原理:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。

反馈信息(百度百科)

Request timed out
a.对方已关机
b.对方与自己不在同一网段内,通过路由也无法找到对方
c.对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)
怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。
d.错误设置IP地址
Destination host Unreachable
对方与自己不在同一网段内,而自己又未设置默认的路由,或者网络上根本没有这个地址,比如上例中A机中不设定默认的路由,运行Ping 192.168.1.4就会出现“Destination host Unreachable”。
网线出了故障
这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
Bad IP address
这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。
Source quench received
这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。
Unknown host——不知名主机
这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
No answer——无响应
这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。
Ping 127.0.0.1:127.0.0.1是本地循环地址
如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。
no rout to host:网卡工作不正常
transmit failed,error code:10043网卡驱动不正常
unknown host name:DNS配置不正确

参数详解

-a 解析计算机NetBios名。

-n count 发送count指定的Echo数据包数

-l size . 定义echo数据包大小

-f 在数据包中发送“不要分段”标志

-i TTL 指定TTL值在对方的系统里停留的时间

-r count 在“记录路由”字段中记录传出和返回数据包的路由

-w timeout 指定超时间隔,单位为毫秒

-t--连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断

-j host-list 利用 computer-list 指定的计算机列表路由数据包。

图4-5-4 ping数据包

结果分析:

这里发送4个ping数据包,wireshark也是抓到8个数据包,其中包含请求与响应数据包

图4-5-5 ping分片重组数据包

结果分析:这里使用命令:ping www.tasfa.cn -l 30000 -n 1 即发送一个大小为30000字节的ICMP数据包(Ping);由于每个数据包最大数目为1514(1514bytes = 1480(icmp数据) + 20(ip头) +14(以太网))所以需要分片重组,由图4-5-5可知ip数据包在#25重组。

Tracert(traceroute)Ping 工作原理分析相关推荐

  1. ping 与 traceroute 的工作原理分析

    一.ping ping 程序的主要目的是测试主机是否可达,它发送 ICMP 回显请求报文给目的主机,并等待返回 ICMP 回显应答 ping 程序一般会周期性持续地发送 ICMP 请求报文,除非用户手 ...

  2. ping工作原理和使用

     PING 工作原理 一.什么是 PING 是 DOS 命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Internet Grope),因特网包探索器,用于测 ...

  3. RxJs map operator 工作原理分析

    使用一个例子来研究 map 操作符的工作原理. 推荐阅读本文之前,先浏览这篇文章RxJs fromEvent 工作原理分析以了解相关知识. 源代码: import { Component, OnIni ...

  4. Hadoop生态圈-Zookeeper的工作原理分析

    Hadoop生态圈-Zookeeper的工作原理分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   无论是是Kafka集群,还是producer和consumer都依赖于Zoo ...

  5. 原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析

    2019独角兽企业重金招聘Python工程师标准>>> 原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析 一.大致介绍 1.在前面章节了解了AQS和 ...

  6. 匿名突破网络限制 (Tor工作原理分析)

    转载自:http://blog.163.com/mike_gz/blog/static/247532200672932800/ 网管顾名思义,就是天天管着网络.想尽各种手段限制我们上网的人.在网络中订 ...

  7. traceroute的工作原理

    MyySophia5个月前 traceroute的工作原理 是利用ICMP差错控制报文中的TTL超时会回向源点发送一个时间超时报文.例如A 主机 traceroute B主机,A会封装一些分组,这些分 ...

  8. 滑环的基本结构及工作原理分析

    滑环是工业机械部件,基本原理是利用导电机械部件的折动或滚动在接触旋转部件和静止部件之间传递电能或电信号的产业部部件,作为360度旋转方式的一个相当好的解决方法,那么,下面一起了解下滑环的基本结构及工作 ...

  9. 【高通SDM660平台 Android 10.0】(19) --- Camera_focus、Camera_snapshot、volume_up 按键工作原理分析

    [高通SDM660平台 Android 10.0]19 --- Camera_focus.Camera_snapshot.volume_up 按键工作原理分析 一. DTS代码配置 二. Kernel ...

  10. 二极管温度补偿电路工作原理分析

    众所周知,PN结导通后有一个约为0.6V(指硅材料PN结)的压降,同时PN结还有一个与温度相关的特性:PN结导通后的压降基本不变,但不是不变,PN结两端的压降随温度升高而略有下降,温度愈高其下降的量愈 ...

最新文章

  1. adb命令 判断锁屏
  2. SQL SERVER怎么去掉重复数据?
  3. python狗图像识别_TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
  4. 效果好,速度快!大连海事大学提出基于增强多任务学习的单图像去雨算法MENET...
  5. 【Zabbix】Zabbix触发器的告警原理及创建方法
  6. JavaScript中字符串相关总结(附实例)
  7. C语言实现峰度的计算
  8. 我在Windows系统搭建python的Hadoop+Spark环境时踩过的坑
  9. stack在python中是什么意思_python栈是什么意思
  10. 2021年危险化学品经营单位安全管理人员新版试题及危险化学品经营单位安全管理人员实操考试视频
  11. 宠物智能家居风口下,为何智能猫砂盆才是探路灯?
  12. 一部手机失窃引发的惊心动魄的战争
  13. java路由总线_网易考拉Android客户端路由总线设计
  14. 检查Office版本工具(通过注册表)
  15. 【太阳黑子预测】太阳黑子变化规律预测matlab仿真
  16. 【老生谈算法】matlab实现图像去雾算法——图像去雾
  17. 读书是进步的源泉 | 实践是前进的基石
  18. 检测mysql中sql语句的效率
  19. 记一次mybatis-plus数据自动填充爆露出来的多线程的问题
  20. 【贴图、OCR】snipaste、天若OCR-win软件

热门文章

  1. 美容院店务管理系统哪家好?
  2. 南京工程学院 DSP期末复习
  3. [ecshop调试]ecshop 数据库查询缓存详解 有三种缓存,query_cache(数据库查询缓存)、static_cache(静态缓存)和cache(普通的缓存)
  4. myBatis约束文档
  5. 人工智能之产生式系统
  6. 前端必知必会的技术体系,再也不担心前端内卷了
  7. LTE物理层一些基本概念
  8. griddata三维空间插值
  9. jni 调用java类方法_AndroidJNI 通过C++调用JAVA
  10. Dfinity(ICP)介绍-1