ping程序和tracert(traceroute)背后的故事--ICMP协议

为路由器生,为交换机死,为了Ping通奋斗一生-----tracert.cn
上面是一个网络工程师的我的定位,颇有意思,哈哈!那么咱们来看看ping和tracert都是什么吧html

PING (Packet Internet Groper),因特网包探索器,用于测试网络链接量的程序。服务器

Tracert(tracerout)是路由跟踪实用程序,用于肯定 IP 数据包访问目标所采起的路径。网络

1.准备工做ide

安装好wireshark。Wireshark(前称Ethereal)是一个网络报文分析软件。网络封包分析软件的功能是撷取网络封包,并尽量显示出最为详细的网络封包资料。Wireshark使用WinPCAP做为接口,直接与网卡进行数据报文交换。测试

2.抓取报文htm

打开wireshark,并开启监听模式,启用ICMP过滤,打开cmd命令窗口,输入 ping 172.16.64.1(网关) ,等待返回后,最后中止wireshark监听,并保存文件。blog

3.ping命令接口

Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来肯定从一个主机到网络上其余主机的路由。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所但愿的ICMPecho (ICMP回声应答)。它是用来检查网络是否通畅或者网络链接速度的命令。做为一个生活在网络上的管理员或者***来讲,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的惟一性,给目标IP地址发送一个数据包,再要求对方返回一个一样大小的数据包来肯定两台网络机器是否链接相通,时延是多少。资源

ping指的是端对端连通,一般用来做为可用性的检查, 可是某些病毒***会强行大量远程执行ping命令抢占你的网络资源,致使系统变慢,网速变慢。严禁ping***做为大多数防火墙的一个基本功能提供给用户进行选择。一般的状况下你若是不用做服务器或者进行网络测试,能够放心的选中它,保护你的电脑。路由

ping程序和tracert(traceroute)背后的故事--ICMP协议

   ping请求报文以下图

ping程序和tracert(traceroute)背后的故事--ICMP协议

  

 ping响应报文:
ping程序和tracert(traceroute)背后的故事--ICMP协议

4.tracert命令

工做原理:经过向目标发送不一样IP生存时间 (TTL) 值的“Internet控制消息协议 (ICMP)”回应数据包,Tracert诊断程序肯定到目标所采起的路由。要求路径上的每一个路由器在转发数据包以前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。

Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而肯定路由。经过检查中间路由器发回的“ICMP 已超时”的消息肯定路由。某些路由器不经询问直接丢弃 TTL 过时的数据包,这在 Tracert 实用程序中看不到。

ping程序和tracert(traceroute)背后的故事--ICMP协议

报文以下

ping程序和tracert(traceroute)背后的故事--ICMP协议

5.总结

  出现:在IP通讯中,常常有数据包到达不了对方的状况。缘由是,在通讯途中的某处的一个路由器因为不能处理全部的数据包,就将数据包一个一个丢弃了。或者,虽然到达了对方,可是因为搞错了端口号,服务器软件可能不能接受它。这时,在错误发生的现场,为了联络而飞过来的信鸽就是ICMP 报文。在IP 网络上,因为数据包被丢弃等缘由,为了控制将必要的信息传递给发信方。ICMP 协议是为了辅助IP 协议,交换各类各样的控制信息而被制造出来的。

  使用:ping和tracert(traceroute)是ICMP 的典型实现。

参考资料

【1】https://baike.baidu.com/item/ping/6235?fr=aladdin

【2】https://baike.baidu.com/item/%E8%B7%9F%E8%B8%AA%E8%B7%AF%E7%94%B1/8971154?fr=aladdin

【3】https://www.cnblogs.com/iiiiher/p/8513748.html

相关文章
相关标签/搜索