wireshark中怎么选中多个_【学习笔记】Wireshark的用法

本文介绍了Wireshark的使用方法,包括如何选择网卡、窗口介绍、过滤器的使用,以及如何保存和设置过滤表达式。文章还强调了在大量数据中使用过滤器的重要性,并提供了各种过滤表达式的例子。此外,还展示了Wireshark如何分析TCP三次握手过程,以及文件菜单、编辑菜单和统计功能的简介。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机网络课上,需要我们灵活运用网络协议分析仪wireshark,最近一直在看,感觉有点难,并不是软件本身操作难,而是看懂一大群包的含义难,这个难主要也因为它是全英文的~~。。

好了,大致总结一下,基本都是大神的,引用的,与大家分享。

wireshark 开始抓包

开始界面

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。

点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包

Wireshark 窗口介绍

WireShark 主要分为这几个界面

1. Display Filter(显示过滤器),  用于过滤

2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

3. Packet Details Pane(封包详细信息), 显示封包中的字段

4. Dissector Pane(16进制数据)

5. Miscellanous(地址栏,杂项)

使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

过滤器有两种,

一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录

一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置

保存过滤

在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102",

Filter栏上就多了个"Filter 102" 的按钮。

过滤表达式的规则

表达式规则

1. 协议过滤

比如TCP,只显示TCP协议。

2. IP 过滤

比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,

ip.dst==192.168.1.102, 目标地址为192.168.1.102

3. 端口过滤

tcp.port ==80,  端口为80的

tcp.srcport == 80,  只显示TCP协议的愿端口为80的。

4. Http模式过滤

http.request.method=="GET",   只显示HTTP GET方法的。

5. 逻辑运算符为 AND/ OR

常用的过滤表达式

过滤表达式

用途

http

只查看HTTP协议的记录

ip.src ==192.168.1.102 or ip.dst==192.168.1.102

源地址或者目标地址是192.168.1.102

封包列表(Packet List Pane)

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。

你也可以修改这些显示颜色的规则,  View ->Coloring Rules.

封包详细信息 (Packet Details Pane)

这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为

Frame:   物理层的数据帧概况

Ethernet II: 数据链路层以太网帧头部信息

Internet Protocol Version 4: 互联网层IP包头部信息

Transmission Control Protocol:  传输层T的数据段头部信息,此处是TCP

Hypertext Transfer Protocol:  应用层的信息,此处是HTTP协议

TCP包的具体内容

从下图可以看到wireshark捕获到的TCP包中的每个字段。

看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例

三次握手过程为

这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。

打开wireshark, 打开浏览器输入 http://www.cr173.com

在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",

这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图

图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

第一次握手数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

就这样通过了TCP三次握手,建立了连接

File菜单介绍

菜单项快捷键描述

Open…

Ctr+O

显示打开文件对话框,让您載入捕捉文件用以浏览。

Open Recent

弹出一个子菜单显示最近打开过的文件供选择。

Merg

显示合并捕捉文件的对话框。让您选择一个文件和当前打开的文件合并。

Close

Ctrl+W

关闭当前捕捉文件,如果您未保存,系统将提示您是否保存(如果您预设了禁止提示保存,将不会提示)

Save

Crl+S

保存当前捕捉文件,如果您没有设置默认的保存文件名,Wireshark出现提示您保存文件的对话框。

Save As

Shift+Ctrl+S

让您将当前文件保存为另外一个文件面,将会出现一个另存为的对话框

File Set>List Files

允许您显示文件集合的列表。将会弹出一个对话框显示已打开文件的列表。

File Set>Next File

如果当前載入文件是文件集合的一部分,将会跳转到下一个文件。如果不是,将会跳转到最后一个文件。这个文件选项将会是灰色。

File set>Previous Files

如果当前文件是文件集合 的一部分,将会调到它所在位置的前一个文件。如果不是则跳到文件集合的第一个文件,同时变成灰色。

Export> as “Plain Text” File…

这个菜单允许您将捕捉文件中所有的或者部分的包导出为plain ASCII text格式。它将会弹出一个Wireshark导出对话框。

Export >as “PostScript” Files

将捕捉文件的全部或部分导出为PostScrit文件。

Export > as “CVS” (Comma Separated Values Packet Summary)File…

导出文件全部或部分摘要为.cvs格式(可用在电子表格中)。。

Export > as “PSML” File…

导出文件的全部或部分为PSML格式(包摘要标记语言)XML文件。将会弹出导出文件对话框。

Export as “PDML” File…

导出文件的全部或部分为PDML(包摘要标记语言)格式的XML文件。

Export > Selected Packet Bytes…

导出当前在Packet byte面版选择的字节为二进制文件。

Print

Ctr+P

打印捕捉包的全部或部分,将会弹出打印对话框。

Quit

Ctrl+Q

退出Wireshark,如果未保存文件,Wireshark会提示是否保存。

Edit——包括如下项目:查找包,时间参考,标记一个多个包,设置预设参数。(剪切,拷贝,粘贴不能立即执行。)

Edit菜单项

菜单项快捷键描述

Copy>As Filter

Shift+Ctrl+C

使用详情面版选择的数据作为显示过滤。显示过滤将会拷贝到剪贴板。

Find Packet…

Ctr+F

打开一个对话框用来通过限制来查找包

Find Next

Ctrl+N

在使用Find packet以后,使用该菜单会查找匹配规则的下一个包

Find Previous

Ctr+B

查找匹配规则的前一个包。

Mark Packet(toggle)

Ctrl+M

标记当前选择的包。

Find Next Mark

Shift+Ctrl+N

查找下一个被标记的包

Find Previous Mark

Ctrl+Shift+B

查找前一个被标记的包

Mark ALL Packets

标记所有包

Unmark All Packet

取消所有标记

Set Time Reference(toggle)

Ctrl+T

以当前包时间作为参考

Find Next Reference

找到下一个时间参考包

Find Previous Refrence…

找到前一个时间参考包

Preferences…

Shift+Ctrl+P

打开首选项对话框,个性化设置Wireshark的各项参数,设置后的参数将会在每次打开时发挥作用。

View——控制捕捉数据的显示方式,包括颜色,字体缩放,将包显示在分离的窗口,展开或收缩详情面版的地树状节点

“View”菜单项

菜单项快捷键描述

Main Toolbar

显示隐藏Main toolbar(主工具栏)

Filter Toolbar

显示或隐藏Filter Toolbar(过滤工具栏)

Statusbar

显示或隐藏状态栏

Packet List

显示或隐藏Packet List pane(包列表面板)

Packet Details

显示或隐藏Packet details pane(包详情面板)

Packet Bytes

显示或隐藏packet Bytes pane(包字节面板)

Time Display Fromat>Date and Time of Day: 1970-01-01 01:02:03.123456

选择这里告诉Wireshark将时间戳设置为绝对日期-时间格式(年月日,时分秒)

Time Display Format>Time of Day: 01:02:03.123456

将时间设置为绝对时间-日期格式(时分秒格式)

Time Display Format > Seconds Since Beginning of Capture: 123.123456

将时间戳设置为秒格式,从捕捉开始计时,见

Time Display Format > Seconds Since Previous Captured Packet: 1.123456

将时间戳设置为秒格式,从上次捕捉开始计时

Time Display Format > Seconds Since Previous Displayed Packet: 1.123456

将时间戳设置为秒格式,从上次显示的包开始计时

Time Display Format > ——

Time Display Format > Automatic (File Format Precision)

根据指定的精度选择数据包中时间戳的显示方式

Time Display Format > Seconds: 0

设置精度为1秒

Time Display Format > …seconds: 0….

设置精度为1秒,0.1秒,0.01秒,百万分之一秒等等。

Name Resolution > Resolve Name

仅对当前选定包进行解析

Name Resolution > Enable for MAC Layer

是否解析Mac地址

Name Resolution > Enable for Network Layer

是否解析网络层地址(ip地址)

Name Resolution > Enable for Transport Layer

是否解析传输层地址

Colorize Packet List

是否以彩色显示包

Auto Scrooll in Live Capture

控制在实时捕捉时是否自动滚屏,如果选择了该项,在有新数据进入时, 面板会项上滚动。您始终能看到最后的数据。反之,您无法看到满屏以后的数据,除非您手动滚屏

Zoom In

Ctrl++

增大字体

Zoom Out

Ctrl+-

缩小字体

Normal Size

Ctrl+=

恢复正常大小

Resiz All Columnus

恢复所有列宽

注意

除非数据包非常大,一般会立刻更改

Expend Subtrees

展开子分支

Expand All

看开所有分支,该选项会展开您选择的包的所有分支。

Collapse All

收缩所有包的所有分支

Coloring Rulues…

打开一个对话框,让您可以通过过滤表达来用不同的颜色显示包。这项功能对定位特定类型的包非常有用

Show Packet in New Window

在新窗口显示当前包,(新窗口仅包含View,Byte View两个面板)

Reload

Ctrl+R

重新再如当前捕捉文件

GO——包含到指定包的功能。

“GO”菜单项

菜单项快捷键描述

Back

Alt+Left

跳到最近浏览的包,类似于浏览器中的页面历史纪录

ForWard

Alt+Right

跳到下一个最近浏览的包,跟浏览器类似

Go to Packet

Ctrl+G

打开一个对话框,输入指定的包序号,然后跳转到对应的包。

Go to Corresponding Packet

跳转到当前包的应答包,如果不存在,该选项为灰色

Previous Packet

Ctrl+UP

移动到包列表中的前一个包,即使包列表面板不是当前焦点,也是可用的

Next Packet

Ctrl+Down

移动到包列表中的后一个包,同上

First Packet

移动到列表中的第一个包

Last Packet

移动到列表中的最后一个包

Capture——捕捉数据包

“Capture”菜单项

菜单项快捷键说明

Interface…

在弹出对话框选择您要进行捕捉的网络接口

Options…

Ctrl+K

打开设置捕捉选项的对话框并可以在此开始捕捉

Start

立即开始捕捉,设置都是参照最后一次设置。

Stop

Ctrl+E

停止正在进行的捕捉

Restart

正在进行捕捉时,停止捕捉,并按同样的设置重新开始捕捉.仅在您认为有必要时

Capture Filters…

打开对话框,编辑捕捉过滤设置,可以命名过滤器,保存为其他捕捉时使用

Analyze——包含处理显示过滤,允许或禁止分析协议,配置用户指定解码和追踪TCP流等功能。

“analyze”菜单项

菜单项快捷键说明

Display Filters…

打开过滤器对话框编辑过滤设置,可以命名过滤设置,保存为其他地方使用,见第 6.6 节 “定义,保存过滤器”

Apply as Filter>…

更改当前过滤显示并立即应用。根据选择的项,当前显示字段会被替换成选择在Detail面板的协议字段

Prepare a Filter>…

更改当前显示过滤设置,当不会立即应用。同样根据当前选择项,过滤字符会被替换成Detail面板选择的协议字段

Firewall ACL Rules

为多种不同的防火墙创建命令行ACL规则(访问控制列表),支持Cisco IOS, Linux Netfilter (iptables), OpenBSD pf and Windows Firewall (via netsh). Rules for MAC addresses, IPv4 addresses, TCP and UDP ports, 以及IPv4+混合端口

以上假定规则用于外部接口

Enable Protocols…

Shift+Ctrl+R

Statistics——包括的菜单项用户显示多个统计窗口,包括关于捕捉包的摘要,协议层次统计等等。

菜单项快捷键描述

Summary

显示捕捉数据摘要

Protocol Hierarchy

显示协议统计分层信息

Conversations/

显示会话列表(两个终端之间的通信)

EndPoints

显示端点列表(通信发起,结束地址)

IO Graphs

显示用户指定图表,(如包数量-时间表)

Conversation List

通过一个组合窗口,显示会话列表

Endpoint List

通过一个组合窗口显示终端列表

Service Response Time

显示一个请求及其相应之间的间隔时间

Help——包含一些辅助用户的参考内容。如访问一些基本的帮助文件,支持的协议列表,用户手册。在线访问一些网站,“关于”

菜单项快捷键描述

Open…

Ctr+O

显示打开文件对话框,让您載入捕捉文件用以浏览。

Open Recent

弹出一个子菜单显示最近打开过的文件供选择。

如何进行“简单”的抓包筛选。

其实关于wireshark来说,比较重要的还是数对抓包之后的“查询统计分析”,如何在海量的数据包中,抓取出自己关注的数据包是处理问题的第一步,最后再讲解一下如何进行“简单”的抓包筛选。

为了直观,本篇博文以一次实例进行,我在本地对网卡进行了抓包,登录了一次QQ,与网友聊天,并且,访问了一次我的博客www.zike.me,那我就从海量数据包中,抓取关于这两个操作的相关数据包。

首先,我进行了本地抓包,进行了上述两个操作,stop抓包,仅仅十多秒钟,我抓到了3543个数据包,其中存在有我需要的数据包。(从这里看出了“筛选分析”有多么重要,如果数据流量较大,我试验过,较小的网络中,1分钟左右的抓包,可以获取300万数据包)

原始数据包

抓包分析

输入:oicq进行筛选

oicq协议分析

oicq统计结果

查看单包的数据,在data处可以看见QQ号码

详细数据包

选取第一个数据包,点击右键,我们可以看见有很多选项,我们选取“follow UDP stream”,即追踪该UDP流,跟踪整个会话

跟踪会话

可以看见,我的得到了该次聊天会话

wireshark抓包分析

同时,我们还可以选择另外一种筛选方式,在详细数据包中,我们选择QQ号码那一栏作为筛选的数据,点击数据包QQ号码处,右键,作为筛选……

wireshark筛选分析

接下来,我们看看由浏览器发起的对www.zike.me的访问,我们主要看进行对dns数据包的筛选

第一步还是选择协议,dns

dns数据包

同时,也可以直接选择所访问的域名:dns.qry.name == “www.zike.me”,直接进行筛选

wireshark抓包筛选分析

下图可以看见,我本机发起了对www.zike.me的查询,我本地的缓存域名服务器是中国电信的61.128.128.68

dns回应包

然后看见DNS服务器进行回应,回复说www.zike.me的IP地址是173.231.1.221

dns服务器回应数据包

同时,我们可以对本次抓包进行统计概况,如下图

wireshark统计汇总

可以看见总述里面,包数,实时流量大小等等。

wireshark summary

对本次抓包的协议总述

也就这么多了,希望对大家有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值