Wireshark抓包工具使用分享

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Wireshark抓包工具使用分享产品开发一部前端开发室钟和民2012-8-28内容纲要•Wireshark简介•Wireshark常用功能•抓包,停止抓包•保存抓包•设置抓包选项•捕捉过滤器•显示过滤器•FollowTCPStream•实际应用案例Wireshark简介•网络抓包分析工具•可实时捕捉多种网络接口•支持其他程序抓包保存文件,例如TCPDump•开源软件,采用GPL授权•支持UNIX和Windows平台Wireshark简介•发展简史:•1998年由GeraldCombs完成第一个Ethereal(Wireshark前身)版本的开发。•此后不久,GilbertRamirez发现它的潜力,并为其提供了底层分析•1998年10月,GuyHarris正寻找一种比TcpView更好的工具,他开始为Ethereal进行改进,并提供分析。Wireshark简介•1998年以后,正在进行TCP/IP教学的RichardSharpe关注了它在这些课程中的作用。并开始研究该软件是否他所需要的协议。如果不行,新协议支持应该很方便被添加。所以他开始从事Ethereal的分析及改进。•从那以后,帮助Ethereal的人越来越多,他们的开始几乎都是由于一些尚不被Ethereal支持的协议。所以他们拷贝了已有的解析器,并为团队提供了改进回馈。•2006年重新命名为Wireshark.Wireshark简介•支持的系统:•Windows•APPleMacOSX•DebianGNU/Linux•FreeBSD•NetBSD•OpenPKG•RedHatFedora/EnterpriseLinux•……Wireshark简介•官方网站:••维基网站地址:••中文用户手册:•简介主界面Wireshark常用功能可通过Capture菜单中的Interfaces打开网卡列表,然后点击网卡右边的“Start”按钮开始抓包。或者单击工具栏的第一个按钮,和单击Capture-Interfaces的效果一样。Wireshark常用功能开始抓包后,Wireshark的主界面中会以不同的颜色显示抓取到的不同的数据包。如果要停止抓包,可通过工具栏中的Stop按钮,或者Capture-Stop菜单项停止抓包。Wireshark常用功能停止抓包后我们可以将抓取到的数据包保存到文件供日后分析使用。可通过菜单File-Save(SaveAs)或者工具栏上的保存按钮。Wireshark常用功能抓包模式在开始抓包之前还可修改Wireshark的抓包选项。通过工具栏或者菜单Capture-Options打开抓包选项设置界面。这里可以设置很多选项,我们这里介绍一下混杂模式和非混杂模式。混杂模式:抓取经过网卡的所有数据包,包括发往本网卡和非发往本网卡的。非混杂模式:只抓取目标地址是本网卡的数据包,对于发往别的主机而经过本网卡的数据包忽略。如左图中显示的是混杂模式Wireshark常用功能由于Wireshark是将抓包数据保存在内存当中,当抓包时间比较长,抓的包比较多时可能出现内存不够用的情况。此时我们设置使用多个文件保存抓包数据就可避免这种情况。多个文件保存的方式可以是每隔多久保存一个文件,也可以是限制每个文件保存的大小,同时也可以设置限制文件个数。默认情况下Wireshark是只使用一个临时文件来保存抓包数据的。多文件自动保存抓包数据Wireshark常用功能自动停止抓包在无人值守情况下,我们可设置在某些条件下自动停止抓包。这些条件可以是:抓到多少包之后;抓到多大数据量之后(存储容量);抓取多少分钟之后Wireshark常用功能过滤器在Wireshark中有两种过滤器。捕捉过滤器:在抓包之前设置,让Wireshark只抓取过滤器指定的包。显示过滤器:在桌包之前或者完成抓包之后都可,不影响抓包,只是方便查看。Wireshark常用功能•捕捉过滤器例子:•[src|dst]hosthost主机过滤•srchost192.168.20.159捕捉源IP地址是192.168.20.159的包。•dsthost192.168.20.159捕捉目标IP地址是192.168.20.159的包。•host192.168.20.159捕捉源IP或者目标IP是192.168.20.159的包。••[tcp|udp][src|dst]portport端口过滤•host192.168.20.159andtcpport9990捕捉源/目标IP地址是192.168.20.159,源/目标端口是TCP9990端口的数据包。Wireshark常用功能•Protocol(协议):可能的值:ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcpandudp.如果没有特别指明是什么协议,则默认使用所有支持的协议。••Direction(方向):可能的值:src,dst,srcanddst,srcordst如果没有特别指明来源或目的地,则默认使用“srcordst”作为关键字。例如,”host10.2.2.2″与”srcordsthost10.2.2.2″是一样的。捕捉过滤器Wireshark常用功能•Host(s):可能的值:net,port,host,portrange.如果没有指定此值,则默认使用”host”关键字。例如,”src10.1.1.1″与”srchost10.1.1.1″相同。••LogicalOperations(逻辑运算):可能的值:not,and,or.否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。例如,“nottcpport3128andtcpport23″与”(nottcpport3128)andtcpport23″相同。“nottcpport3128andtcpport23″与”not(tcpport3128andtcpport23)”不同。捕捉过滤器Wireshark常用功能•显示过滤器例子:•http显示TCP80端口的http包。•tcp.port==9990显示tcp端口是9990的包。•tcp.flags.reset==1显示tcp标志字段中reset标志为1的包。•tcp.port==80ortcp.port==9990显示端口是80或者9990的包显示过滤器Wireshark常用功能Protocol(协议):可以使用大量位于OSI模型第2至7层的协议。点击”Expression…”按钮后,可以看到它们。比如:IP,TCP,DNS,SSH。String1,String2(可选项):协议的子类。点击相关父类旁的”+”号,然后选择其子类。显示过滤器Wireshark常用功能Comparisonoperators(比较运算符)例如:tcp.port==9990过滤显示TCP端口是9990的数据包。Tcp.seqeq115过滤显示序列号为115的数据包。……Wireshark常用功能Logicalexpressions(逻辑运算符)例如:tcp.port==9990ortcp.port==9991过滤显示TCP端口是9990或者9991的包。!(ip.src==180.149.135.236)过滤显示源IP地址不是180.149.135.236的数据包。……Wireshark常用功能如果是在抓取和分析基于TCP协议的包,从应用层的角度查看TCP流的内容有时是非常有用的。要查看TCP流的内容,只需要选中其中的任意一个TCP包,选择右键菜单中的“Followtcpstream”即可。FollowTCPStreamWireshark常用功能这里有一个技巧可以比较简单方便的查看到每一个TCP连接流的内容:•一.我们通过显示过滤器tcp.flags.syn==1andtcp.flags.ack!=1将所抓包的建立每个TCP连接的第一个包给过滤出来。•二.在每个单独的包上面执行“FollowTCPStream”。•三.回到显示过滤器重新选择第一步中的过滤器,再对其他的包执行第二步。FollowTCPStream实际应用案例2010年底到2011年初一段时间公司组织客户端,服务端,运维等对网盘上传失败率较高的原因进行了深入调查分析,找出了很多网络和程序上的问题,这个是其中的一个案例。问题现象:彩讯深圳办公室的网盘或者超大附件采用控件上传经常在中途失败。彩讯深圳办公室内网深信服防火墙阻断分布式上传的案例实际应用案例调查分析的大致过程是:•1抓包发现在上传失败时,有较多RST包关闭连接,RST包是TCP标志位reset志为1的包。以下几种情况可能导致出现RST包:(1).connect一个不存在的端口。(2).send一个已经关掉的连接。(3).采用shutdown立即关闭一个已经建立的连接。显然现在属于第三中情况,而且RST包的源IP地址都是服务器的IP地址,说明是“服务器”主动关闭连接。实际应用案例2查看服务器端的日志及抓包看什么原因导致其关闭连接,发现服务器并没有主动关闭连接。3倒回来对客户端的抓包进一步进行分析,对RST包的IP层的TTL进行对比发现其TTL值为127,而其他从服务器发过来的正常包的TTL值是117,明显大很多,说明其经过的路由器跳转少很多,而如果服务器的默认TTL值是128的话,说明这种RST包只经过了一跳就被发送到客户端,所以很有可能是内网网关或者防火墙所为。实际应用案例实际应用案例实际应用案例于是找公司网管确认并查看防火墙日志,果然防火墙日志中有对这些连接进行关闭的记录,原因是这些连接被防火墙判定为P2P软件。至于为什么判定为P2P软件原因可能是(1)分布式的TCP上传采用了非80的特殊端口9990和9991;(2)控件上传采用多线程,对于同一个端口同时存在多个连接进行上传;(3)上传数据量或者时间达到了防火墙的阀值,当上传少量数据在短时间内可完成上传时,防火墙不会有关闭连接的行为;所以后来控件上传也进行了改进,在原有TCP9990和9991端口上传的基础上,增加了fcgi的http80端口上传,并且能够自动动态切换,线程数也可根据网络情况自动动态调整。实际应用案例工具不是最重要,熟悉协议更重要

1 / 32
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功