写点什么

Wireshark 数据包分析学习笔记 Day10

发布于: 2021 年 03 月 13 日
Wireshark数据包分析学习笔记Day10

现代网络采用了一种叫作“分组交换”的方法,它最大的特点就是将较大的信息拆分成基本单元。而这种基本单元就是我们平时所说的“数据包”。简单来看,数据包由包头和包体两部分组成,其中包头主要是一些源地址和目标地址的信息,包体里面则是要传输的真正信息。

 

在正常情况下,应用程序和操作系统在产生了数据包之后,会发送到网卡,然后再由网卡交给网络中的设备发送出去。这个过程中,我们是无法见到这些数据包的

 

混杂模式下,网卡则会将所有通过它的数据包(不管是不是发给本机)都传递给操作系统。所以在使用 Wireshark 进行网络分析时,我们经常需要使用混杂模式。

 

Wireshark 的工作流程:捕获、转换、分析

 

伯克利包过滤中的限定符有下面 3 种:

type:这种限定符表示指代的对象,例如 IP 地址、子网或者端口等。常见的有 host(用来表示主机名和 IP 地址)、net(用来表示子网)、port(用来表示端口)。如果没有指定的话,就默认为 host。

dir:这种限定符表示数据包传输的方向,常见的有 src(源地址)和 dst(目的地址)。如果没有指定的话,默认为“src or dst”。例如“192.168.1.1”就表示无论源地址或者目的地址为 192.168.1.1 的都使得这个语句为真。

proto:这种限定符表示与数据包匹配的协议类型,常见的就是 ether、ip、tcp、arp 这些协议。

 

如果需要对数据包进行更细微的操作,伯克利包过滤也支持精确到位的操作。具体的语法为 proto[expr:size],这里面的 proto 指代协议,expr 表示相对给出协议层的字节偏移量,size 表示要操作的字节数。其中 size 的值是可选的,可以是 1、2、4 中的一个,默认值为 1。

 

Wireshark 中提供了两种不同的过滤器:捕获过滤器和显示过滤器。其中捕获过滤器是在 Wireshark 捕获过程的同时进行工作的,而显示过滤器则不同,它是在 Wireshark 捕获的过程后进行工作的。

 

捕获过滤器遵循了伯克利包过滤的语法。显示过滤器的语法与捕获过滤器的语法并不相同。

 

contains 用来判断是否包含一个值,matches 用来判断是否匹配一个表达式。


发布于: 2021 年 03 月 13 日阅读数: 22
用户头像

还未添加个人签名 2018.11.30 加入

还未添加个人简介

评论

发布
暂无评论
Wireshark数据包分析学习笔记Day10