Wireshark抓包分析之ICMP协议包

Wireshark抓包分析之ICMP协议包

一、 Wireshark简介:(前身为Ethereal,2006年改名为wireshark)

Wireshark 是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。 Wireshark 使用 WinPCAP 作为接口,直接与网卡进行数据报文交换。

(一) 功能:可用于网络流量捕获和分析
(二) 工作原理:

i. 捕获二进制流量
ii. 转换wireshark组装数据包
iii. 分析捕获的数据包,识别协议等信息。

(三) 优势:

i. 开源免费
ii. 跨平台
iii. 可视化
iv. 功能强大

二、 WireShark快速分析数据包技巧

  1. 确定Wireshark的物理位置。

  2. 选择捕获接口。

  3. 使用捕获过滤器。

  4. 使用显示过滤器。

  5. 使用着色规则。

  6. 构建图表。
    三、 Wireshark之ICMP协议抓包分析

  7. ICMP简介:一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。
    功能主要有:侦测远端主机是否存在,建立及维护路由资料,重导资料传送路径(ICMP重定向),资料流量控制。
    ICMP协议

  8. 启动wireshark:kali linux自带wireshark工具(或者官网下载)
    wireshark

  9. 选择网卡eth0(按自己的选择):
    双击eth0进入抓包界面
    网卡选择

  10. 产生特定的ICMP协议包:ping www.baidu.com -c 1,发送一次请求
    捕获到以下信息,然后暂停捕获。
    以百度为例

  11. 设置过滤规则:
    这里只分析对ping 百度产生的ICMP协议包;设置过滤规则和指定IP:
    icmp || ip.addr==39.156.66.14(百度的IP地址)
    过滤规则

常用过滤命令:

过滤IP:
来源IP或者目标IP等于某个IP

ip.src == 192.168.191.2 and ip.dst == 203.119.244.222
ip.src ==xxxx 过滤请求发起源
ip.dst ==xxx 过滤目标ip 
过滤端口:
tcp.port >= 1 and tcp.port <= 80 //过滤端口范围
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
tcp.port ==80 // 不管端口是来源的还是目标的都显示

回车得到过滤后的信息:
过滤得到的ICMP协议包

  1. icmp数据包解读
(1)	Frame: 物理层的数据帧概况
(2)	Ethernet II: 数据链路层以太网帧头部信息(包含数据包的mac地等)
(3)	Internet Protocol Version 4: 互联网层IP包头部信息(IPV4信息)
(4)	Internet Control Message Protocol: icmp信息

ICMP协议分析请求包(Request):
request

Internet Control Message Protocol
    Type: 8 (Echo (ping) request)
    Code: 0               协议类型8,代码0,表示回显请求,ping请求。
    Checksum: 0x3513 [correct]  校验和,用于检查错误
    [Checksum Status: Good]     校验状态Good。
    Identifier (BE): 13969 (0x3691)
    Identifier (LE): 37174 (0x9136)  ID值应答包中返回该字段
    Sequence Number (BE): 1 (0x0001)
    Sequence Number (LE): 256 (0x0100) 序列号和id值一起返回
    [Response frame: 9]                响应帧序列号:9
    Timestamp from icmp data: Nov  8, 2022 17:15:51.000000000 CST
    [Timestamp from icmp data (relative): 0.919064170 seconds]
    Data (48 bytes)                     填充的数据,48个字节

ICMP协议分析应答包(reply):
reply

Internet Control Message Protocol  
    Type: 0 (Echo (ping) reply)
    Code: 0             应答包协议类型为0,代码为0表示回显应答报文
    Checksum: 0x3d13 [correct]    校验和
    [Checksum Status: Good]
    Identifier (BE): 13969 (0x3691)
    Identifier (LE): 37174 (0x9136)         
    Sequence Number (BE): 1 (0x0001)        
    Sequence Number (LE): 256 (0x0100)      
    [Request frame: 8]              请求帧的序列号:8
    [Response time: 29.970 ms]       响应时间
    Timestamp from icmp data: Nov  8, 2022 17:15:51.000000000 CST
    [Timestamp from icmp data (relative): 0.949034665 seconds]
Data (48 bytes)          数据填充
  1. 工作过程:
    本机发送一个ICMP Echo Request的包,接受方返回一个ICMP Echo Reply,包含了接受到数据拷贝和一些其他指令。
    ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况。
    四、 Wireshark学习使用感受
    通过学习使用wireshark,让我能更好的学子计算机网络中的各种协议,在理论学习的基础上通过亲自动手实践,能更好的理解各种协议的工作原理。并有更深的记忆。

猜你喜欢

转载自blog.csdn.net/m0_56272023/article/details/127757046