wireshark常用过滤条件

Wireshark是网络分析工具中最强大的一个。 其中之一的优势是,可以为特定协议、源或目标、甚至在包中使用的某个值过滤数据包。在本文中,我们将深入介绍Wireshark常用的过滤条件、使用方法以及案例说明,以帮助初学者更好地理解网络分析过程中的数据包过滤技巧。

一、Wireshark高级过滤条件的基础

在Wireshark抓包界面中,可以单击”过滤器“菜单向导或Ctrl+T快捷键来打开过滤器窗口。对于初学者来说,Wireshark窗口的界面可能比较复杂,下面我就介绍wireshark窗口界面中比较重要的几个部分。

1、主窗口区域:Wireshark的主窗口通常显示捕获文件中的数据包。应该注意的是,每包的详细信息将出现在主窗口的下半部分,所以Wireshark的主窗口被分为了两个区域

2、包数据包窗口区域:这个区域显示了捕获到的每个数据包或筛选出的数据包的详细信息。它的格式是,它首先显示的是数据帧的标头,其次显示的是数据包的四层协议细节。Wireshark并不仅仅是提供了数据层、网络层、传输层的信息,它还能深入到特定应用程序层次的协议细节。

3、过滤器窗口区域:这是Wireshark的过滤器界面。打开”过滤器“菜单项或按Ctrl+T键,可以展开它。

二、Wireshark的基本过滤器

Wireshark上常用的过滤器数量非常之大,这里我们仅介绍了一些较为基本的过滤器条件。对于其他过滤器类型,您可以参考Wireshark官网的完整指南。

1、协议类型过滤器

协议类型过滤器是Wireshark中最常用的过滤器类型,可以有助于用户根据IPv4、IPv6或TCP和UDP等协议类型进行过滤。

对于协议类型过滤器,可以使用过滤器参数”ip“、”tcp“或”udp“来指定,例如”ip.addr == 192.0.2.1“或”tcp.port == 80“。这些过滤器将仅显示使用特定协议的数据包。

2、IP地址过滤

IP地址过滤器可以帮助用户仅显示存储特定IP地址的数据包。您可以过滤源、目标或两者均为特定IP地址的数据包。例如,过滤IP地址为192.0.2.1的数据包,您可以使用以下过滤器字符串:

- ip.addr == 192.0.2.1

- ip.src == 192.0.2.1 or ip.dst == 192.0.2.1

3、端口过滤

可以根据特定端口筛选数据包,这可以使您更容易地筛选和分析来自特定应用程序的通信。例如,过滤端口为80的数据包,您可以使用以下过滤器字符串:

- tcp.port == 80

- udp.port == 80

4、数据包长度过滤

可以对发送和接收的数据包进行过滤以限制Wireshark的结果的数量,包长度过滤器是控制捕捉的数据包大小的有用工具。以下过滤器字符串可以限制大小:

- frame.len > 500

- frame.len < 500

其中,frame.len代表帧大小

5、http过滤

HTTP过滤器可以专门检查HTTP数据包。这可以说明以可读方式查看HTTP会话,更容易地确定用户访问的网页,以及每个对象的结构和大小。以下过滤器字符串可以查看HTTP:

- http.request.method == “GET”

- http.request.uri contains “login”

三、Wireshark高级过滤器

下面列出了Wireshark中最有用的高级过滤器方法。这些过滤器将帮助您以更高的效率和更精确地查看网络通信。

1、过滤IP加端口的数据包

在Wireshark中,可以使用以下过滤器字符串来过滤特定IP地址和端口的数据包:

- (ip.addr==192.0.2.1 && tcp.port==80)

上述过滤器字符串将仅显示特定IP地址的所有通信,其中的目标端口为TCP port 80,即HTTP请求。

2、过滤在一定时间段内的通信

Wireshark可以通过所述time,frame.time_display,或frame.time_relative-time.time_relative过滤器来检索发生在特定时间范围内的通信。例如,只显示收到和发送的数据包的前60秒,您可以使用以下过滤器字符串:

- (frame.time_relative<=60.0)

3、按协议过滤

wireshark支持按协议的过滤筛选,可以根据协议类型进行“更厉害”的过滤操作,例如,过滤仅显示TCP数据包,您可以使用以下过滤器字符串:

- tcp

- not tcp

当使用“not”关键字时,Wireshark将仅显示不是TCP的任何通信。

4、过滤以及条件

如果您需要同时筛选两个或更多不同的条件,Wireshark支持将过滤条件链接在一起来个性化筛选数据包。例如,查找来自192.0.2.1并使用端口80的数据包,可以使用以下过滤器字符串:

- (ip.addr==192.0.2.1) && (tcp.port==80)

5、比较运算符的使用

比较运算符可以与许多过滤器类型结合使用,包括IP地址、数据包长度、时间和端口过滤器。例如,可以仅显示比特数>500的数据包,可以使用以下过滤器字符串:

- frame.len > 500

四、使用Wireshark的过滤器的实例

下面看几个简单的实例,说明Wireshark中的过滤器如何实现。

1、查找192.168.1.1(source或destination)地址的数据包

如上所述,可以使用ip.addr过滤器过滤在TCP / IP协议中指定的IP地址。因此,使用以下过滤器字符串搜索源或目标为IP地址192.168.1.1的数据包。

- ip.addr == 192.168.1.1

2、查找特定端口(80)的数据包

使用tcp.port过滤器可以筛选特定端口的数据包。以下是一个基本范例。

- tcp.port == 80

3、查找长度大于100的数据包

frame.len是表示数据包大小(以字节为单位)的过滤器参数,并且可用于筛选特定数据包大小的过滤器。例如,使用以下过滤器字符串只会显示所有数据包长度大于100字节的数据包。

- frame.len > 100

4、查找HTTP数据包

使用http.request.method和http.request.uri包装特定HTTP请求。例如,通过以下过滤器字符串可以显示所有GET请求:

- http.request.method == “GET”

下面来一例加深理解:

- 使用Wireshark手动抓包应该如何筛选IGMPv2数据包

解答:IGMPv2协议的值是0x16,所以过滤条件如下:

- eth.type == 0x0800 && ip.proto == 2

在过滤器中比较一些十六进制时,注意每个数值都必须以0x作为前缀。

本文介绍了Wireshark常用的过滤条件及其使用方法,并通过实际案例为大家的理解和掌握提供了更多的帮助。对于新手来说,运用Wireshark分析数据包时,掌握好过滤条件是必须要做的事情。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(71) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部