Wireshark对常用协议的抓包及原理分析

Wireshark对常用协议的抓包及原理分析,第1张

本篇文章主要针对一些常用协议进行抓包及原理分析。

进入正题之前,咱们来简单的复习下网络协议、开放式系统互联通信参考模型(OSI模型)以及网络数据帧的基础知识。

Part1 基础回顾 1.网络协议

网络协议咱们可以类比为咱们人类平时口头或书面语言的使用规则。在网络环境中不同平台的系统之间通信,需要用到自己的通信语言即网络协议。如同语言有规则一样,网络协议也有着它自己的规则。它帮助我们定义如何路由数据包,如何发起一个连接,以及如何确认收到的数据。网络协议可以很简单,也可以很复杂,这取决于它的功能。常见的网络协议如传输控制协议(TCP)、互联网协议(IP)、地址解析协议(ARP)和动态主机配置协议等。我们将一组协同工作的网络协议的逻辑组合称之为协议栈。

尽管各种协议有着很大的差异,但它们通常用来解决如下的问题:

发起连接:是由客户端发起还是服务端发起?在真正通信之前需要交换哪些信息。

协商连接参数:通信需要进行协议加密吗?加密密钥如何在通信双方之间进行传输。

数据格式:通信数据在数据包中如何排列?数据在到达接收设备之前是以什么样的顺序进行处理的?

错误检测与校正:当数据包花了很长时间才到达目的地时如何进行处理?当客户端和服务器无法建立通信时,该如何恢复连接。

连接终止:应该传递怎样的终止信息告知对方通信结束。

2.七层OSI参考模型

网络协议是基于它们在行业标准OSI参考模型中的职能来进行分层的。OSI参考模型将网络通信过层分为七个不同的层次。如下图所示。

3.数据段封装与解封装

Part2 实战分析

好了,正片开始。

接下来主要针对以下常用协议进行抓包及原理分析

ARP协议(Address Resolution Protocol)地址解析协议

ICMP协议(Internet Control Message Protocol Internet)控制报文协议

TCP协议(Transmission Control Protocol) 传输控制协议

UDP协议(User Datagram Protocol) 用户数据报协议

HTTP协议(Hyper Text Transfer Protocol) 超文本传输协议

一、ARP协议

ARP,地址解析协议(Address Resolution Protocol),以目标 IP 地址为线索,用来定位下一个应该数据分包的网络设备对应的mac地址,是IPv4中必不可少的协议。

1.开启抓包,过滤arp,利用nmap工具扫描一下

nmap -sn 192.168.8.0/24

 这是咱们抓到的包

2.接下来咱们针对第一个请求包进行分析

可以看到,这个请求包有三层结构:

第一层:物理层 这个数字4表示开启抓包后抓到第4个包,42表示字节数。

第二层:数据链路层Destination: VMware_ef:ed:e3 (00:50:56:ef:ed:e3) 表示目mac地址

Source: VMware_49:2b:62 (00:0c:29:49:2b:62)表示源mac地址,即当前主机的mac地址

Type: ARP (0x0806) 表示上层协议为ARP协议

第三层:网络层

Address Resolution Protocol (request) #ARP地址解析协议,request表示请求包

Hardware type: Ethernet (1)           #硬件类型

Protocol type: IPv4 (0x0800)          #协议类型

Hardware size: 6                      #硬件地址长度

Protocol size: 4                      #协议长度

Opcode: request (1)                   # *** 作类型(1表示ARP request报文,2表示ARP reply报文,3表示RARP request报文,4表示RARP reply报文)

Sender MAC address: VMware_49:2b:62 (00:0c:29:49:2b:62)  #源mac地址

Sender IP address: 192.168.8.129      #源IP地址

Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)#目的mac地址

Target IP address: 192.168.8.2        #目的IP地址

3.咱们来分析下紧接着的arp应答数据包和请求包一样,不再过多赘述,只看下不同的地方

第二层:数据链路层

 这里回应来上一个请求包,可以看到源目的mac地址反过来了。

Padding:000 表示补位

第三层:网络层

Address Resolution Protocol (reply)  #这里发生来变化,reply表示回复包

Hardware type: Ethernet (1)          #硬件类型

Protocol type: IPv4 (0x0800)         #协议类型

Hardware size: 6                     #硬件地址长度

Protocol size: 4                     #协议长度

Opcode: reply (2)                    # *** 作类型

Sender MAC address: VMware_ef:ed:e3 (00:50:56:ef:ed:e3)  #源mac地址,这里就告诉了请求包中询问的192.168.8.2对应的mac地址。

Sender IP address: 192.168.8.2       #源IP地址

Target MAC address: VMware_49:2b:62 (00:0c:29:49:2b:62)  #目的mac地址

Target IP address: 192.168.8.129     #目的IP地址

好了,这就是一个完整的arp请求及回复过程

未完待续!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/916185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存