Wireshark高级技巧(DOC)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Wireshark高级技巧

内容提要:

➢显示过滤器的用法

➢捕捉过滤器的功能及用法

➢Wireshark远程抓包

➢包的拼接和任意拆解

显示过滤器

显示过滤器是我们用得最多的,大家对他的用法应该也比较了解,这里重新介绍一下显示过滤器的语法,并且附上一些我们平常会用得比较多的典型表达式。

●语法

[协议].[字符串1].[字符串2] [比较运算符][值][逻辑操作符] [其它表达式]

例: sip auth domain == or rtp

这里,“协议”字段可为wireshark所有支持的协议,支持的协议可以从wireshark的“Internals”中找到,“字符串1”“字符串2”是对协议的类型限制,“比较运算符”用来严格指定协议的“值”,逻辑操作符用来连接多个表达式。

比较运算符有下面6

英文写法C语言写法含义

eq == 等于

ne !- 不等于

gt > 大于

lt < 小于

逻辑运算符有下面4种:

常用实例

tcp.dstport == 23 显示目标端口号为23的流量,即显示到

telnet服务器的流量

tcp.port ==20 || tcp.port == 21 显示所有FTP流量

tcp.port == 53 显示所有DNS包,当DNS查询方式为TCP时dns 显示所有DNS包,当DNS查询方式为UDP

sip 显示所有SIP包

sip or rtp 显示所有sip包和rtp包

udp.port == 5060 显示所有端口号为5060的包

bootp 显示所有dhcp或者bootp包

tcp.port == 20 or tcp.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] [主机][其它表达式]

例udp port 5060 and src host 10.0.0.1

●使用实例

下面列举一些用得比较多的实例,相信通过使用捕捉过滤器,抓的包将变得更小更有利于网络分析,给工作带来极大的便利。

过滤器意义

ether src host 00:08:15:00:08:15 仅抓取源MAC地址为00:08:15:00:08:15的网

络包

src host 192.168.0.1 仅抓取源IP地址为192.168.0.1的网络包host 192.168.0.1 仅抓取源或目的IP地址为192.168.0.1的网络

not host 192.168.0.1 仅不抓取IP地址为192.168.0.1的网格包

ip 仅抓取ip协议的网络包

tcp 仅抓取tcp协议的网络包

udp 仅抓取udp协议的网络包

port 53 仅抓取端口号为53的UDP或者TCP网络包port 5060 仅抓取端口号为5060的UDP或者TCP网络

tcp dst port 53 仅抓取目标端口为53的所有网络包portrange 80-1024 仅抓取端口范围为80到1024的所有网络包

host 192.168.0.1 and not (port 161 or port 162 or port 80 or port 23 or arp or icmp) 仅抓取IP地址为192.168.0.1而且不含SNMP 和HTTP和Telnet和ARP和ICMP的网络包

远程抓包

Wireshark支持remote packet capture protocol协议远程抓包,只要在远程主机上安装Winpcap的rpcapd服务例程就可以,在Windows系统上,只要安装了Winpcap都会安装rpcapd工具,找到Winpcap的安装目录即可找到rpcapd服务器程序,双击rpcapd.exe即可开启rpcapd服务,其默认端口号为2002。

对于Linux,下载wpcap代码按如下方式编译即可:

#unzip WpcapSrc_4_1_2.zip

#cd winpcap/wpcap/libpcap

#chmod +x configure runlex.sh

#CFLAGS=-static ./configure

#make

#cd rpcapd

#make

启动rpcapd服务含如下两种模式:

普通服务模式:./rpcapd -n

守护进程模式:./rpcapd -n -d

连接远端wireshark

打开wireshark,点击工具栏的第二个按钮,或者选择capture->options,然后Interface 选择Remote,填写好远端Wireshark的IP地址和端口号,验证方式选取Password验证,然后填写管理员的用户名和密码点OK即可连接上远端机器,连上之后再选取用于抓包的网络接口卡,设置捕捉过滤器等等即可开始抓取远端的网络包了。

相关文档
最新文档