Wireshark高级技巧Word文档格式.docx
《Wireshark高级技巧Word文档格式.docx》由会员分享,可在线阅读,更多相关《Wireshark高级技巧Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
不等于
gt
>
大于
lt
<
小于
ge
=
大于等于
le
小于等于
逻辑运算符有下面4种:
and
&
逻辑与
or
||
逻辑或
xor
^^
异或
not
!
逻辑非
●常用实例
过滤器
意义
eth.vlan.id==1024
显示VLANID为1024的所有流量
eth.addr==00:
11:
11
显示MAC地址为00:
11的所有流量
eth.src==00:
显示源MAC地址为00:
eth.dst==00:
显示目的MAC地址为00:
11&
eth.dst==00:
12
11和目的MAC地址为00:
12的所有流量
arp
显示所有ARP流量
arp.src.hw==00:
显示所有ARP源硬件地址为00:
11的流量
icmp
显示所有ICMP报文
icmp&
eth.src==00:
显示所有MAC地址为00:
11的ICMP报文
icmp.type==8
显示所有ICMP请求
icmp.type==0
显示所有ICMP应答
ip
显示所有IP报文
ip.addr==192.168.0.1
ip.src==192.168.0.1或ip.src_host==192.168.0.1
显示所有源IP地址为192.168.0.1的流量
ip.dst==192.168.0.1或ip.dst_host==192.168.0.1
显示所有目的IP地址为192.168.0.1的流量
ip.src==192.168.0.1andip.dst!
=192.168.0.2
显示所有源IP地址为192.168.0.1而目的IP地址不为192.168.0.2的流量
ip.dst==192.168.0.0/24
显示所有到达网络192.168.0.0/24的IP流量
icmp||dns||snmp
显示icmp和dns和snmp包
tcp.port==23
显示端口号为23的流量,即显示所有telnet的流量
tcp.dstport==23
显示目标端口号为23的流量,即显示到telnet服务器的流量
tcp.port==20||tcp.port==21
显示所有FTP流量
tcp.port==53
显示所有DNS包,当DNS查询方式为TCP时
dns
显示所有DNS包,当DNS查询方式为UDP时
sip
显示所有SIP包
siporrtp
显示所有sip包和rtp包
udp.port==5060
显示所有端口号为5060的包
bootp
显示所有dhcp或者bootp包
tcp.port==20ortcp.port==21
显示所有FTP包
sip.Request-Line
显示所有SIP请求包
sip.Status-Line
显示所有SIP状态包
sip.P-Preferred-Identity
显示所有含有PPI域的SIP包
暂时列这么多了,其他表达式待以后想起来再添加,若想要查询更多的表达式,可以点“Expression”获取:
捕捉过滤器
大家在使用Wireshark时一般都没有使用捕捉过滤器,这样做的后果是抓到了大量自己并不需要的数据包,这些不相干的数据包严重影响到了我们对问题的分析与定位。
而且如果长时间抓包时,若使用常规抓包模式,抓到的大量数据包会影响电脑的性能,以及抓到的包占用很大的磁盘空间不利于存储与传送。
特别是在测试或者比较大型的网络环境时,所有设备处在同一个广播域,如果使用常规的抓包方式将会有大量不是自己需要的包被wireshark捕获,比如同时捕获了多台设备的SIP包但是自己只需要其中一台设备的SIP包,这样势必给自己的分析带来不利,而如果使用捕捉过滤器抓包,那抓到的包将完全是自己想要的包,而其他不想要的包都将会被wireshark排除在外,所以大家应该熟悉如何使用捕捉过滤器。
●使用捕捉过滤器
打开wireshark后,点击工具栏的第二个按钮,或者选择capture->
options即可设置捕捉过滤器,选定用于抓包的网卡,填写好捕捉规则点击start即可按过滤器抓取网络包。
●捕捉过滤器语法
捕捉过滤器语法与显示过滤器的语法不一样,具体如下:
[协议][字符串][值][逻辑操作符][方向][host][主机][其它表达式]
例udpport5060andsrchost10.0.0.1
●使用实例
下面列举一些用得比较多的实例,相信通过使用捕捉过滤器,抓的包将变得更小更有利于网络分析,给工作带来极大的便利。
ethersrchost00:
08:
15:
00:
15
仅抓取源MAC地址为00:
15的网络包
srchost192.168.0.1
仅抓取源IP地址为192.168.0.1的网络包
host192.168.0.1
仅抓取源或目的IP地址为192.168.0.1的网络包
nothost192.168.0.1
仅不抓取IP地址为192.168.0.1的网格包
仅抓取ip协议的网络包
tcp
仅抓取tcp协议的网络包
udp
仅抓取udp协议的网络包
port53
仅抓取端口号为53的UDP或者TCP网络包
port5060
仅抓取端口号为5060的UDP或者TCP网络包
tcpdstport53
仅抓取目标端口为53的所有网络包
portrange80-1024
仅抓取端口范围为80到1024的所有网络包
host192.168.0.1andnot(port161orport162orport80orport23orarporicmp)
仅抓取IP地址为192.168.0.1而且不含SNMP和HTTP和Telnet和ARP和ICMP的网络包
远程抓包
Wireshark支持remotepacketcaptureprotocol协议远程抓包,只要在远程主机上安装Winpcap的rpcapd服务例程就可以,在Windows系统上,只要安装了Winpcap都会安装rpcapd工具,找到Winpcap的安装目录即可找到rpcapd服务器程序,双击rpcapd.exe即可开启rpcapd服务,其默认端口号为2002。
对于Linux,下载wpcap代码按如下方式编译即可:
#unzipWpcapSrc_4_1_2.zip
#cdwinpcap/wpcap/libpcap
#chmod+xconfigurerunlex.sh
#CFLAGS=-static./configure
#make
#cdrpcapd
启动rpcapd服务含如下两种模式:
普通服务模式:
./rpcapd-n
守护进程模式:
./rpcapd-n-d
●连接远端wireshark
打开wireshark,点击工具栏的第二个按钮,或者选择capture->
options,然后Interface选择Remote,填写好远端Wireshark的IP地址和端口号,验证方式选取Password验证,然后填写管理员的用户名和密码点OK即可连接上远端机器,连上之后再选取用于抓包的网络接口卡,设置捕捉过滤器等等即可开始抓取远端的网络包了。
包的拼接与任意拆解
利用wireshark即可以非常容易地使用包的拼接与拆解功能,该功能可以应用到以下情况
在有时候即使使用捕捉过滤器也抓到了很多自己不需要的包,自己想提取里面一部分或几部分的包
在有时候自己在不同时间或者不同地点的抓取的几个包想拼凑成一个包。
其他特殊情况。
●功能使用步骤
一、包的拼接
1)用wireshark打一个需要拼接的包
2)点击Wireshark的File->
Merge,然后选中一个将要被拼接的包,在该对话框下面设置接接方式和显示过滤器等。
如图:
说明:
Prependpacketstoexistingfind:
将包拼接在当前包的前面
Mergepacketschronologically:
将包按时间顺序插入到当前包中
Appendpacketstoexistingfile:
将包拼接在当前包的后面
二、包的拆解
1)用wireshark打开一个需要拆解的包文件
2)打开菜单File->
Saveas,可以看到对话框下面有一些保存选项,即PacketRange,这里可以定义按什么样的方将包拆解成自己想要的包。
选好后填好文件名保存即可完成拆解。
Allpackets:
所有包
Selectedpacket:
选中的包
Markedpackets:
做了标记的包
Firsttolastmarked:
从第一个标记的包到最后一个标记的包
Range:
选择范围,支持多个范围,不同范围中间用逗号连接
Captured:
已捕获的包,未加显示过滤器的限制时的包个数
Displayed:
已显示的包,加了显示过滤器的限制时的包个数
1)仅拆解出过滤出来的包
假如我们有一些包仅想将里面满足过滤器条件的包拆解出来,那么我们先在显示过滤器里面设置好过滤器,然后“Saveas”的时候选择Allpackets的Displayed选项就可以只保存我们在过滤器里面显示的包了。
这里以只拆解出sip协议包为例,如图:
从图中可以看出,经过这样设置后我们只保存了满足条件的130个包了。
2)仅拆解出选中的包
首先我们要在抓到的包里面选中我们想要拆解出来的包,选中一个包只需用鼠标左键单击该包即可,就是这么简单。
然后“Saveas”的时候选择Selectedpacket的选项就可以只保存我们选中的包了。
3)仅拆解出做了标记的包
给一个包做标记非常简单,只需右键单击一个包,然后选择MarkPacket即可,可以通过多次标记来标记多个包
标记好然后“Saveas”的时候选择Markedpacket的选项就可以只保存我们做了标记的包了。
4)仅拆解出从第一个标记的包到最后一个标记的包
设置好第一个标记的包和最后一个标记的包,然后在保存的时候选择Firsttolastmarked即可拆解出该范围里的包了。
5)仅拆解出一个范围或者多个范围里的包
“Saveas”的时候选择Range,并输入一个范围即可。
比如我们要拆解出一个SIP通话过程的所有包,我们可以先使用VoipCalls菜单查看所有通话;
然后选中一个通话并点击流程,
单击Invite即可找到此次通话的第一个包,并记下此包的序号
然后单击200Ok即可以找到此次通话的最后一个包,记下此时的序号
然后在Range里面输入2841-5472即可,如图:
可以同时定义多个范围,格式如图:
2011-11-13
产品部