wireshark详细的使用说明.docx

上传人:b****6 文档编号:6799143 上传时间:2023-01-10 格式:DOCX 页数:31 大小:606.35KB
下载 相关 举报
wireshark详细的使用说明.docx_第1页
第1页 / 共31页
wireshark详细的使用说明.docx_第2页
第2页 / 共31页
wireshark详细的使用说明.docx_第3页
第3页 / 共31页
wireshark详细的使用说明.docx_第4页
第4页 / 共31页
wireshark详细的使用说明.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

wireshark详细的使用说明.docx

《wireshark详细的使用说明.docx》由会员分享,可在线阅读,更多相关《wireshark详细的使用说明.docx(31页珍藏版)》请在冰豆网上搜索。

wireshark详细的使用说明.docx

wireshark详细的使用说明

Wireshark使用说明

一、安装wireshark:

1、在windows下安装:

Wireshark的安装需要WinPcap,但是在Wireshark的安装包里一般含有WinPcap,所以不需要单独下载安装它。

除了普通的安装之外,还有几个组件供挑选安装。

选择组件(注意:

GTK1和GTK2无法同时安装):

WiresharkGTK1-Wireshark:

一个GUI网络分析工具

WiresharkGTK2-Wireshark:

一个GUI网络分析工具(建议使用GTK2GUI模组工具)

GTK-Wimp:

GTK2窗口模拟(看起来感觉像原生windows32程序,推荐使用)

TSshark:

一个命令行的网络分析工具

注意:

如果使用GTK2的GUI界面遇到问题可以尝试GTK1,在Windows下256色(8bit)显示模式无法运行GTK2.但是某些高级分析统计功能在GTK1下可能无法实现。

插件/扩展(Wireshark,TShark分析引擎):

DissectorPlugins:

带有扩展分析的插件

TreeStatisticsPlugins-树状统计插件:

统计工具扩展

Mate-MetaAnalysisandTracingEngine(experimental):

可配置的显示过滤引擎,参考http:

//wiki.wireshark.org/Mate.

SNMPMIBs:

SNMP,MIBS的详细分析。

 

2、在LINUX下安装:

(1)在编译或者安装二进制发行版之前,您必须确定已经安装如下包:

GTK+:

TheGIMPToolKit.

Glib:

可以从www.gtk.org获得。

Libpcap:

Wireshark用来捕捉包的工具,您可以从www.tcpdump.org获得。

根据您操作系统的不同,您或许能够安装二进制包,如RPMs.或许您需要获得源文件并编译它。

如果您已经下载了GTK+源文件,例 1“从源文件编译GTK+”提供的指令对您编译有所帮助。

例 1. 从源文件编译GTK+

#gunzip-dcgtk+-1.2.10.tar.gz|tarxvf–

#./configure

#makeinstall

注意:

您可能需要修改例1中提供的版本号成对应您下载的GTK+版本。

如果GTK的目录发生变更,您同样需要修改它。

tarxvf显示您需要修改的目录。

如果您使用Linux,或者安装了GUNtar,您可以使用tarzxvfgtk+-1.2.10.tar.gz命令。

同样也可能使用gunzip–c或者gzcat。

如果您在windows中下载了gtk+或者其他文件。

您的文件可能名称为:

gtk+-1_2_8_tar.gz

例 2. 编译、安装libpcap

#gunzip-dclibpcap-0.9.4.tar.Z|tarxvf–

#cdlibpcap-0.9.4

#./configure

#make

#makeinstall

注意:

Libpcap的目录需要根据您的版本进行修改。

tarxvf命令显示您解压缩的目录。

例 3. 在RedHatLinux6.2或者基于该版本得发行版下安装需要的RPM包

#cd/mnt/cdrom/RedHat/RPMS

#rpm-ivhglib-1.2.6-3.i386.rpm

#rpm-ivhglib-devel-1.2.6-3.i386.rpm

#rpm-ivhgtk+-1.2.6-7.i386.rpm

#rpm-ivhgtk+-devel-1.2.6-7.i386.rpm

#rpm-ivhlibpcap-0.4-19.i386.rpm

注意:

如果您使用RedHat6.2之后的版本,需要的RMPs包可能已经变化。

您需要使用正确的RMPs包。

(2)在Linux下编译wireshark:

如果使用Linux则解压gzip'dtar文件。

对于Linux命令如下:

tarzxvfwireshark-0.99.5-tar.gz

注意使用管道命令行gunzip–dcWireshark-0.99.5-tar.gz|tarxvf同样可以。

如果您在Windows下下载了Wireshark,你会发现文件名中的那些点变成了下划线。

然后将当前目录设置成源文件的目录。

再执行下面的命令来编译并安装wireshark:

#./configure

#make

#makeinstall

一旦您使用makeinstall安装了Wireshark,您就可以通过输入Wireshark命令来运行它了。

安装过程中可能会遇到一些错误信息。

这里给出一些错误的解决办法:

如果configure那一步发生错误。

你需要找出错误的原因,您可以检查日志文件config.log(在源文件目录下),看看都发生了哪些错误。

有价值的信息通常在最后几行。

一般原因是因为您缺少GTK+环境,或者您的GTK+版本过低。

configure错误的另一个原因是因为因为缺少libpcap(这就是前面提到的捕捉包的工具)。

 

二、捕捉数据分组

1、准备工作

常见需要注意的地方:

A.必须拥有root/Administrator特权才能开始捕捉

B.必须选择正确的网络接口捕捉数据。

2、开始捕捉

可以使用以下任一方式开始捕捉包

方式一:

使用

打开捕捉接口对话框,浏览可用的本地网络接口,选择需要进行捕捉的接口并启动捕捉

方式二:

使用"

捕捉选项"按钮启动对话框开始捕捉,如下图

如果前次捕捉时的设置和现在的要求一样,可以直接点击"

开始捕捉"按钮或者是菜单项立即开始本次捕捉。

方式三:

如果已经知道捕捉接口的名称,可以使用如下命令从命令行开始捕捉:

wireshark-ieth0-k

上述命令会从eht0接口开始捕捉。

捕捉时,会出现下面的捕捉信息对话框:

上述对话框会向你显示捕捉到包的数目,以及捕捉持续时间。

捕获前选定了要统计的协议,在捕获过程中无法对其作出更改(增加或取消某些要统计的协议)。

提示:

这个对话框可以被隐藏,在下面的捕捉选项对话框设置"Hidecaptureinfodialogbox"即可。

3、停止捕捉

运行中的捕捉线程可以用下列方法停止:

方法一:

使用捕捉信息对话框上的"

stop"按钮停止。

注意:

捕捉信息对话框有可能被隐藏,如果你选择了"Hidecaptureinfodialog"

方法二:

使用菜单项"Capture/

Stop"

方法三:

使用工具栏项"

Stop"

方法四:

使用快捷键:

Ctrl+E

注意:

如果设置了触发停止的条件,捕捉达到条件时会自动停止。

4、重新启动捕捉

运行中的捕捉进程可以被重新启动。

这将会移出上次捕捉的所有包。

如果你捕捉到一些你不感兴趣的包,你不想保留它,这个功能十分有用。

重新启动是一项方便的功能,类似于停止捕捉后,在很短的时间内立即开始捕捉。

以下两种方式可以实现重新启动捕捉:

方法一:

使用菜单项"Capture/

Restart"

方法二:

使用工具栏项"

Restart"

方法三:

使用快捷键Ctrl+R

 

5、捕捉时过滤:

捕捉过滤的形式为:

和取值(and/or)进行进行基本单元连接,加上可选的,高有限级的not:

[not]primitive[and|or[not]primitive...]

在下图所示处输入:

例 1. 捕捉来自或指向主机10.0.0.5的telnet协议:

tcpport23andhost10.0.0.5

例 2. 捕捉所有不是来自10.0.0.5的telnet通信:

tcpport23andnotsrchost10.0.0.5

相关的捕捉时过滤语法:

一个基本单元通常是下面中的一个

(1)[src|dst]host

此基本单元允许你过滤主机ip地址或名称。

你可以优先指定src|dst关键词来指定你关注的是源地址还是目标地址。

如果未指定,则指定的地址出现在源地址或目标地址中的包会被抓取。

(2)ether[src|dst]host

此单元允许你过滤主机以太网地址。

你可以优先指定关键词src|dst在关键词ether和host之间,来确定你关注的是源地址还是目标地址。

如果未指定,同上。

(3)gatewayhost

过滤通过指定host作为网关的包。

这就是指那些以太网源地址或目标地址是host,但源ip地址和目标ip地址都不是host的包

(4)[src|dst]net[{mask}|{len}]

通过网络号进行过滤。

你可以选择优先指定src|dst来确定你感兴趣的是源网络还是目标网络。

如果两个都没指定。

指定网络出现在源还是目标网络的都会被选择。

另外,你可以选择子网掩码或者CIDR(无类别域形式)。

(5)[tcp|udp][src|dst]port

过滤tcp,udp及端口号。

可以使用src|dst和tcp|udp关键词来确定来自源还是目标,tcp协议还是udp协议。

tcp|udp必须出现在src|dst之前。

(6)less|greater

选择长度符合要求的包。

(大于等于或小于等于)

(7)ip|etherproto

选择有指定的协议在以太网层或是ip层的包

(8)ether|ipbroadcast|multicast

选择以太网/ip层的广播或多播

(9)relop

创建一个复杂过滤表达式,来选择包的字节或字节范围符合要求的包。

6、 保存捕捉包

你可以通过File->SaveAs...菜单保存捕捉文件。

在保存时可以选择保存哪些包,以什么格式保存:

Windows下的界面:

LINUX下的界面:

通过这些对话框,你可以执行如下操作:

(1)输入你指定的文件名。

(2)选择保存的目录

(3)选择保存包的范围

(4)通过点击"Filetype/文件类型"下拉列表指定保存文件的格式。

(5)点击"Save/OK"按钮保存。

如果保存时遇到问题,会出现错误提示。

确认那个错误提示以后,你可以重试。

(6)点击"Cancel"按钮退出而不保存捕捉包。

7、输出格式

可以将Wireshark捕捉到的包保存为其原生格式文件(libpcap),也可以保存为其他格式供其他工具进行读取分析。

Wireshark可以保存为如下格式:

libpcap,tcpdumpandvariousothertoolsusingtcpdump'scaptureformat(*.pcap,*.cap,*.dmp)

Accellent5Views(*.5vw)

HP-UX'snettl(*.TRC0,*.TRC1)

MicrosoftNetworkMonitor-NetMon(*.cap)

NetworkAssociatesSniffer-DOS(*.cap,*.enc,*.trc,*fdc,*.syc)

NetworkAssociatesSniffer-Windows(*.cap)

NetworkInstrumentsObserverversion9(*.bfr)

NovellLANalyzer(*.tr1)

Sunsnoop(*.snoop,*.cap)

VisualNetworksVisualUpTimetraffic(*.*)

 

三、浏览捕捉的包

在捕捉完成之后,或者打开先前保存的包文件之后,通过点击包列表面版中的包,可以在包详情面板看到关于这个包树状结构以及字节面版

通过点击左侧"+"标记,可以展开树状视图的任意部分。

下面是一个例子:

当Wireshark正在捕捉时,也可以进行同样的选择。

(前提是在捕捉选项对话框选择了实时更新列表(updatelistofpacketinrealtime))

另外,还可以使用分离的窗口浏览单独的数据包,如下图,想要这样做,只需要在选中包列表面版中您感兴趣的包,菜单View->ShowPacketinNewWindows。

这样我们可以很轻松地比较两个或多个包。

或者在包列表面板中右键单击所选的包,选择ShowPacketinNewWindow:

又或者在包列表面板中双击所选择的包:

四、浏览时过滤包

Wireshark有两种过滤语法:

一种是捕捉包时使用,另一种是显示包时使用。

之前在“捕捉时过滤”里已经介绍过第一种过滤语法了,这里将介绍第二种:

显示过滤。

显示过滤可以隐藏一些你不感兴趣的包,让你可以集中注意力在你感兴趣的那些包上面。

可以从以下几个方面选择包:

协议

预设字段

字段值

字段值比较

……

根据协议类型选择数据报,只需要在Filter框里输入你感兴趣的协议,然后回车开始过滤。

下面显示了输入tcp进行过滤后的图。

显然,上图显示的已经仅有TCP协议了(从图中可以看到1-10号包已经被隐藏)。

因为包的编号是固定不变的,所以第一个包显示的编号是11。

注意:

1.使用过滤时,所有的包依然保留在捕捉文件里。

显示过滤只是更改捕捉文件的显示方式而非内容。

2.我们只能对Wireshark可以识别的协议进行过滤。

也可以对解析器已经添加到树视图的字段进行过滤,但仅限于解析器已经为字段加上了协议缩写的。

在AddExpression...对话框可以看到可用的字段列表。

例如:

想要限制包列表面板仅显示来自或指向192.168.0.1的包,可以使用:

ip.addr==192.168.0.

注意:

点击Clear可以移除过滤

1、建立显示过滤表达式

Wireshark提供了简单而强大的过滤语法,可以用它们建立复杂的过滤表达式。

你可以比较包中的值,合并表达式为多个指定表达式。

提示:

可以在WiresharkWikiDisplay页找到发现大量的显示过滤范例。

http:

//wiki.wireshark.org/DisplayFilters.

(1)显示过滤字段

包详情面板的每个字段都可以作为过滤使用。

应用这些作为过滤将会仅显示包含该字段的包。

例如:

过滤字符串TCP,将会显示所有包含TCP协议的包。

包详情面板:

通过"Help/SupportProtocals"/帮助/协议支持菜单项访问"DisplayFilterFields/显示过滤字段"可以查看完整的过滤字段列表。

(2) 比较值

可以通过在许多不同的比较操作建立比较过滤。

详见下表。

提示:

可以使用下表中的英语和比较符(c-link)项达到同样的效果,它们也可以混合使用。

表格:

显示滤镜比较操作符

English

C-linke

描述及范例

eq

==

Equal

ip.addr==10.0.0.5

ne

!

=

Notequal

ip.addr!

=10.0.0.5

gt

>

Greatethan

frame.pkt_len>10

lt

<

Lessthan

frame.pkt_len<128

ge

>=

Greaterthanorequalto

frame.pkt_lenge0x100

le

<=

Equal

frame.pkt_len<=0x20

(3)组合表达式

你可以用逻辑操作符将过滤表达式组合在一起使用,见下表。

显示过滤的逻辑操作符

English

C-linke

描述和范例

and

&&

LogicalAND

ip.addr==10.0.0.5andtcp.flags.fin

or

||

LogicalOR

ip.addr==10.0.0.5orip.addr==192.1.1.1

xor

^^

LogicalXOR

tr.dst[0:

3]==0.6.29xortr.src[0:

3]==0.6.29

not

!

LogicalNot

notllc

[...]

 

SubstringOperator

Wireshark允许选择一个序列的子序列。

在标签后你可以加上一对[]号,在里面包含用逗号(是不是冒号?

)分离的列表范围。

eht.src[0:

3]==00:

00:

83

上例使用n:

m格式指定一个范围。

在这种情况下,n是起始位置偏移(0表示没有偏移,即是第一位,同理1表示向右偏移一位,便是第二位),m是从指定起始位置的区域长度。

eth.src[1-2]==00:

83

上例使用n-m格式一个范围。

在本例中n表示起始位置偏移,m表示终止位置偏移

eth.src[:

4]=00:

00:

83:

00

上例使用:

m格式,表示从起始位置到偏移偏移位置m。

等价于0:

m

eth.src[4:

]=20:

20

上例使用n:

格式,表示从最后位置偏移n个序列

eht.src[2]==83

上例使用n形式指定一个单独的位置。

在此例中中序列中的单元已经在偏移量n中指定。

它等价于n:

1

eth.src[0:

3,102,:

4,4:

2]==00:

00:

83:

00:

83:

00:

00:

83:

00:

20:

20:

83

Wireshark允许你将多个分号隔开的列表组合在一起表示复合区域,如上例所示

(4) 常见的错误:

在组合表达式中使用"!

="操作符,像eth.addr,ip.addr,tcp.port,udp.port等元素可能会产生非预期效果。

例子:

经常有人用ip.addr==1.2.3.4表达式来选择所有包含ip地址为1.2.3.4的包。

如果有人想用ip.addr!

=1.2.3.4表达式来排除ip地址为1.2.3.4的包,很不幸,它不会像你期待的那样。

解释:

那个表达式为真值的条件是源地址或目标地址中的任意一个不等于1.2.3.4即可。

因此,那个表达式ip.addr!

=1.2.3.4可以被读作:

"该包包含的ip字段值必须不为1.2.3.4"。

因为一个ip数据报同含源地址和目标地址,只要两个地址有一个不为1,2,3,4表达式就为真。

如果真想过滤捕捉文件中ip地址包含1.2.3.4的包,正确的表达式应该是!

(ip.addr==1.2.3.4)。

它可以读作:

"显示所有'字段名为ip.addr值存在1.2.3.4'为非真的包'",换句话说:

"筛选所有字段名ip.addr的值中未出现1.2.3.4的包"。

(5)“FilterExpression/过滤表达式”对话框

过滤表达式对话框

打开上图的对话框以后。

将会显示一个按协议类型分组的树分支列表,一个关系选择框。

FieldName:

从协议字段树中选择协议字段。

每个可过滤协议都放在第一级。

点击+号展开列表,可以获得关于那些协议的可过滤字段。

Relation:

从可用关系列表中选择关系。

ispresent是一元关系,表示如果你选择的字段存在,表达式就为真值。

其它关系都为二元关系,需要附加数据(例如:

一个值来匹配)来完成。

如果你从字段名列表选择一个字段,并选择一个二元关系(例如等于关系"=="),你可能需要输入值,也有可能是范围信息。

Value:

在此输入合适的配置值,输入的值同样要符合你选择的fieldname的属性值类型(例如字符串).

Predefinedvalues:

有些协议字段包含预设值可用,这一点跟C语言中的枚举变量类似。

如果选择的协议有这样的值定义,你可以在此选择。

Range:

此处作者留空了

OK:

如果你已经建立好了表达式,点击OK即可创建你的过滤字符串

Cancel:

你可以点击Cancle按钮不做任何修改离开AddExpression。

对话框。

(6)定义、保存过滤器

你可以定义过滤器,并给他们标记以便以后使用。

这样可以省去回忆、重新输入某些你曾用过的复杂过滤器的时间。

定义新的过滤器或修改已经存在的过滤器有两种方法:

方法一:

在Capture菜单选择CaptureFilters...;

方法二:

在Analyze菜单选择Displayfilter...。

Wireshark将会弹出如下图所示话框。

注意:

因为捕捉和显示滤镜的设定义和保存方式几乎完全一样,所以这里放在一起讲,二者之间的不同点会做标记。

警告:

必须使用Save来保存你的过滤器,OK或者Apply不会保存过滤器。

关闭wireshark时会随之消失。

相关选项介绍:

New:

增加一个新的过滤器到列表中。

当前输入的Filtername,Filterstring值将会被使用。

如果这些都为空,将会被设置为"new"。

Delete:

删除选中的过滤器。

如果没有过滤器被选中则为灰色。

Filtername:

修改当前选择的过滤器的名称(过滤器名称仅用在此处为了区分方便而已,没有其他用处。

可以将多个过滤器使用同一个名称,但这样使用起来会很不方便)。

Filterstring:

修改当前选中过滤器的的内容。

仅适用显示过滤,在输入时进行语法检查。

AddExpression:

仅适用显示过滤。

打开增加表达式对话框,辅助创建过滤表达式。

详见(5)“FilterExpression/过滤表达式”对话框

OK:

仅适用显示过滤,为当前显示应用选择的过滤器,关闭当前对话框。

Save:

保存当前对话框设置。

Close:

关闭当前对话框。

将会放弃未保存的设置。

 

五、 查找包

当你捕捉到一些包以后,或者读取以前存储的包的时候,可以很容易的进行查找。

从Edit菜单选择FindPacket...菜单项,Wireshark将会弹出下图所示对话框.

首先你需要选择查找方式:

Displayfilter:

在Filter:

输入字段,选择查找方向,点击OK(过滤器方式)

例如:

查找192.168.0.1发起的三步握手建立连接,使用如下字符:

ip.addr==192.168.0.1andtcp.flags.syn

HexValue:

在包数据中搜索指定的序列。

例如:

使用"00:

00"查找下一个包含两个空字节的包数据。

String:

在包中查找字符串,可以指定多种参数。

提示:

输入的查找值将会被进行语法检查。

如果语法检查无误,输入框背景色会变成绿色,反之则是红色。

你可以指定查找的方向通过:

UP:

向上查找包列表(包编号递减方式)

Down:

向下查找包列表(包编号递增方式)

Edit->FindNext/查找下一个:

适用最后一次的查找设置继续查找

Edit->FindPrevious/查找上一个:

适用最后一次的设置修改查找方向,继续查找

 

六、标记包

可以在包列表面板对包进行标记。

不管原来设置的颜色是怎样的,被标记的包的背景色将变为黑色。

标记包有助于在分析大的包文件时进行查找。

标记方法:

单击右键,选择MarkPacket:

警告:

包标记并没有存储在捕捉文件中或任何其他地方,关闭文件后,所有标记将会丢失。

在保存

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1