网络相关的命令工具研究报告

一、基于Wireshark抓包工具的Ping指令原理探究

  ping的运作原理是向目标主机传出一个ICMP要求数据包,并等待接收echo回应数据包。当使用Ping命令会构建一个固定格式ICMP

求数据包,在将该ICMP交付IP层后,IP层协议将以源地址作为发送IP地址,目的网站(通过DNS解析出IP地址)解析出目的IP地址,

上一些其他的控制信息,构建一个IP数据包。

  同时在网络层进行路由转发的时候,在路由器ARP映射表中查找出源IP地址所对应的物理地址(即MAC地址,MAC地址作为链路层

的转发源地址和目的地址而不是IP地址,具体过程通过ARP协议进行地址转换),封装完成后,构建完整的数据帧,其目的地址是网络

层在映射表中找到的物理地址,源地址则是本机的物理地址,通过此过程不断在路由之间跳转,直到找到目的IP地址。

  目的IP收到ICMP数据帧后,对该ICMP报文进行解析,ICMP报文格式如下:

  通过对ICMP报文类型请求解析,能够发现此报文是类型8(询问报文中的回送请求),所以目的主机收到后返回同样的ICMP报文。

  在源主机收到报文后计算时间差来得到ping指令的延迟和TTL等信息。同时源主机的程序会按时间和成功响应的次数估算丢包率和

数据包往返时间。

  在DOS下使用PING命令,抓取ping www.baidu.com过程中的数据包

抓包发现该过程总长度为74字节,其中14字节的以太网帧结构+32字节的数据+20字节IP首部+8字节ICMP分组长。

  能够看出本次ping过程源IP地址:192.168.43.139目的IP地址:112.80.248.76
  IP标识:请求报文(16903、16904、16905、16906)

  回复报文(16903、16904、16905、16906)

  其中总长度:74字节

  TTL:初值为64,经过10跳到目的IP地址。
以下是通过抓取本次ping过程得到的ARP数据包,通过分析ARP数据包的格式及变化观察工作过程。

  硬件类型:0001;

  协议类型:IPV4;

  源IP地址:192.168.43.139;

  发送源MAC地址:a45360c47877;

  目的MAC地址:4459e3b76643;

  目标主机IP地址:192.168.43.1。
二、基于Wireshark抓包工具的Tracert跟踪百度

  原理:Traceroute指令是基于ICMP报文进行的,首先设置TTL值,追踪源主机和目标主机之间的路由数。给目标主机发送一个

TTL=1 的数据包,那么这个数据包一旦在路上遇到一个路由器,TTL就变成了0(TTL规则是每经过一个路由器都会减1),由于TTL=0

该数据包生命周期结束,所以路由器就会把这个数据包丢掉并产生一个差错控制ICMP报文给源主机,主机因此得到路由信息。再次源

主机给目标主机发一个 TTL=2 的UDP数据报,进行路由跳转直到TTL=0,就能够得出第二个路由节点的IP和耗时情况等信息了,接

下来的方法同理。

  在最后到达目的主机后,由于之前的节点会存在TTL=0并且数据包未送达目的IP的情况返回ICMP报文,而送达主机后通过发送端

口号较大的ICMP报文,以让主机返回端口不可达ICMP报文,判断到达目的主机。

  在DOS下使用tracert命令,跟踪百度www.baidu.com,用wireshark 捕捉tracert 程序使用的icmp 报文,显示该数据包的TTL域

原文地址:https://www.cnblogs.com/xshun/p/11944645.html