1、Wireshark使用培训手册目 录 第1章Wireshark简介 第2章实时捕捉数据包 第3章处理已经捕捉的包 第4章案例Wireshark简介-Wireshark是世界上最流行的网络分析工具,这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。-Wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。Wireshark的优势:-安装方便,简单易用的界面-开源、免费-支持
2、windows、unix等多平台Wireshark简介Wireshark主窗口由如下部分组成:菜单用于开始操作。主工具栏提供快速访问菜单中经常用到的项目的功能。Fitertoolbar/过滤工具栏提供处理当前显示过滤得方法。PacketList面板显示打开文件的每个包的摘要。Packetdetail面板示您在Packetlist面板中选择的包的更多详情。Packetbytes面板显示您在Packetlist面板选择的包的二进制数据。Wireshark简介-主菜单File:括打开、合并捕捉文件,save/保存,Print/打印,Export/导出捕捉文件的全部或部分,以及退出Wireshark项
3、。Edit:括如下项目:查找包,时间参考,标记一个多个包,设置预设参数。View:控制捕捉数据的显示方式,包括颜色,字体缩放,将包显示在分离的窗口,展开或收缩详情面版的地树状节点。GO:包含到指定包的功能。Capture:允许您开始或停止捕捉、编辑过滤器。Analyze:包含处理显示过滤,允许或禁止分析协议,配置用户指定解码和追踪TCP流等功能。Statistics:包括的菜单项用户显示多个统计窗口,包括关于捕捉包的摘要,协议层次统计等等。Help:包含一些辅助用户的参考内容。如访问一些基本的帮助文件,支持的协议列表,用户手册。目 录 第1章Wireshark简介 第2章实时捕捉数据包 第3章
4、处理已经捕捉的包 第4章案例 实时捕捉数据包实时捕捉数据包时Wireshar的特色之一Wiershark捕捉引擎具备以下特点支持多种网络接口的捕捉(以太网,令牌环网,ATM.)支持多种机制触发停止捕捉,例如:捕捉文件的大小,捕捉持续时间,捕捉到包的数量.捕捉时同时显示包解码详情设置过滤,减少捕捉到包的容量。长时间捕捉时,可以设置生成多个文件。Wireshark捕捉引擎在以下几个方面尚有不足从多个网络接口同时实时捕捉,(但是您可以开始多个应用程序实体,捕捉后进行文件合并)根据捕捉到的数据停止捕捉实时捕捉数据包-捕捉接口对话框IPIP Wireshark能解析的第一个IP地址,如果接口未获得IP地
5、址(如,不存在可用的DHCP服务器),将会显示Unkow,如果有超过一个IP的,只显示第一个(无法确定哪一个会显示).PacketsPackets 打开该窗口后,从此接口捕捉到的包的数目。如果一直没有接收到包,则会显示为灰度Packets/sPackets/s 最近一秒捕捉到包的数目。如果最近一秒没有捕捉到包,将会是灰度显示StopStop 停止当前运行的捕捉CaptureCapture 从选择的接口立即开始捕捉,使用最后一次捕捉的设置。Options Options 打开该接口的捕捉选项对话框,进行相应的捕捉设置。Details(Details(仅仅Win32Win32系统系统)打开对话框显
6、示接口的详细信息Close Close 关闭对话框实时捕捉数据包-捕捉选项对话框InterfaceInterface:该字段指定你想用于进行捕捉的借口,一次只能使用一个接口。IP addressIP address:表示选择接口的IP地址。如果系统未指定IP地址,将会显示为unknownLink-layer header typeLink-layer header type:除非你有些特殊应用,尽量保持此选项默认Buffer size:n megabyte(s)Buffer size:n megabyte(s):输入用于捕捉的缓层大小。该选项是设置写入数据到磁盘前保留在核心缓存中捕捉数据的大小
7、,如果你发现丢包。尝试增大该值。Capture packets in promiscuous mode:Capture packets in promiscuous mode:指定Wireshark捕捉包时,设置接口为混杂模式。如果你未指定该选项,Wireshark将只能捕捉进出你电脑的数据包(不能捕捉整个局域网段的包)Limit each packet to n bytes:Limit each packet to n bytes:指定捕捉过程中,每个包的最大字节数。在某些地方被称为。snaplen.如果禁止该选项,默认值为65535,这适用于大多数协议。Capture FilterCapt
8、ure Filter:指定捕捉过滤,默认情况下是空的。同样你也可以点击捕捉按钮,通过弹出的捕捉过滤对话框创建或选择一个过滤器。实时捕捉数据包-捕捉选项对话框实时捕捉数据包-捕捉过滤对话框通过capture下拉菜单中的CaptureFilter或者点击捕捉选项对话框中的capturefilter按钮进行捕捉的过滤设置,抓取特定的包展现在PacketList面板中。捕捉过滤对话框如左图所示,其中有部分常用的过滤规则,同时可以通过NEW的方式新建个性化的过滤规则。实时捕捉数据包-捕捉过滤对话框基本格式:基本格式:protocol src/dst host/port protocol src/dst
9、host/port*and/or/not and/or/not*Capture filterCapture filter事例:事例:tcpdstport21显示目的TCP端口为21的封包。ipsrchost192.168.30.242显示来源IP地址为192.168.30.242的封包。host192.168.30.242显示目的或来源IP地址为192.168.30.242的封包。srcportrange2000-2500显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。notimcp显示除了icmp以外的所有封包。srchost10.7.2.12andnotdstnet1
10、92.168.30.0/24显示来源IP地址为10.7.2.12,但目的地不是192.168.30.0/24的封包。(srchost10.4.1.12orsrcnet10.6.0.0/16)andtcpdstportrange200-10000anddstnet10.0.0.0/8显示来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。目 录 第1章Wireshark简介 第2章实时捕捉数据包 第3章处理已经捕捉的包 第4章案例处理已经捕捉的包从整体上看看Wireshark的窗口,主要被
11、分成三部分。上面部分是所有数据帧的列表;中间部分是数据帧的描述信息;下面部分是帧里面的数据。第一列是捕获数据的编号;第二列是捕获数据的相对时间,从开始捕获算为0.000秒;第三列是源地址;第四列是目的地址;第五列是数据包的协议类型;第六列是数据包信息。处理已经捕捉的包-数据包格式以太网帧格式IPv4数据包格式处理已经捕捉的包-数据包格式TCP报文段结构UDP报文段结构目 录 第1章Wireshark简介 第2章实时捕捉数据包 第3章处理已经捕捉的包 第4章案例案例-AX2500 配置导致百度访问异常的问题分析第三方出口疏导路由器采用C7609双上行分别连接城域网核心两台NE5000E,NE50
12、00E上通过策略路由对部分网内用户源地址进行优化,强制疏导至C7609,C7609上配置默认路由指向AX2500后连接第三方出口防火墙和缓存系统,AX2500负责对出口进行选路。由于源地址疏导是将所有流量都强制到C7609,所以在处理引入资源时也是通过C7609的默认路由进入AX2500,AX2500上通过判断IP地址归属来分配出口资源,匹配为引入资源时会通过AX2500与NE5000E之间的链路返回NE5000E,强制送往省网出口。故障现象通过NE5000E策略路由方式优化的源地址用户无法访问百度(IP为:119.75.217.56)1、终端上域名解析正常,ping该IP地址也正常,访问其他
13、网页正常,此IP属于引入资源,源地址优化用户访问时通过AX2500后回NE5000E,服务器回应的时候直接从NE5000E回到用户,不经过AX2500;2、通过抓包分析发现终端上显示TCP三次握手已经完成,进入httpget之前又接收到服务器119.75.217.56发来的synack,客户端又重新发送了ack报文,然而在httpget报文发送后,还是一直在接收synack和回应ack报文,怀疑服务器侧仍认为三次握手没有建立成功导致。3、在AX2500上debug,发现2084975628CLIENT_SYN_RECEIVED:clientnotconnected,savemss_index,
14、buff-mss=1380,conn-mss_index=4,GET_WS_OPT=0,并且终端后续一直在发送syn包给服务器。4、初步判断故障发生在AX2500上,经对故障前后AX2500配置进行对比发现,在slb上增加了syn-cookie配置SYNCookie的原理:客户端发送SYN报文,AX2500设备会代替服务器直接响应SYNACK,其中TCP序列号会根据源IP等特定参数产生。正常客户端会响应AX2500SYNACK并发送ACK给AX2500;AX2500在接收到这个ACK后再使用客户源IP和目标IP创建连接。相当于客户端和AX2500建立连接,AX2500再和服务器建立连接;然后在
15、2者之间做个对应转换。问题就在SYNCookie功能和业务流量之间存在矛盾,百度为引入资源,在AX2500上直接返回给NE5000E,不经过第三方出口,在启用SYNCookie后,AX2500只发送SYN报文出去,NE5000E接收到该报文转发,服务器的响应回到NE5000E时会匹配路由条目直接回复给客户端,而不回复给AX2500,AX2500收不到服务器回复的synack无法与服务器建立链接,服务器无响应而不处理客户端发送的httpget报文,而客户端会接收到多个SYNACK而且序列号不一致,导致客户端无法和目标IP正常处理连接。案例-常州电信限制用户访问移动网络情况分析现象:1.大量常州电
16、信用户反映访问常州移动MAS、托管主机速度非常慢;2.大量常州移动用户反映访问常州本地网站网速非常慢;移动电信有问题电信移动有问题移动移动没问题以MAS平台为例,用常州电信ADSL测试,打开页面很慢,背景页面下载时间很长;用HttpWatch测试打开网页速度,打开全部网页总计时间150.9s;其中,获取index.jpg文件(大小156KB)大概用时104.3s;从常州电信网内traceroute移动短信平台的地址,各段时延正常;到达目的地址时延337ms,时延稳定,无明显丢包现象;电信集团至移动集团出口处延时307ms,比以前略有上升(3月份为250ms左右),多出的50ms是近期业务量上升
17、导致,但是这50ms与打开网页用时用掉的104s相比可以忽略不计;网络延时偏大不是导致网页打开慢的主要原因;使用常州电信ADSL,打开网页同时进行数次抓包,并对抓包结果进行分析;首先电信主机向移动服务器发送http请求消息,没有收到服务器响应,重发请求(平均1-2次)。原因可以判断为:请求消息没有发送到服务器,中途丢失;其次电信主机与移动服务器建立TCP连接后,开始传输数据,但是中间多次发生TCP数据重传。原因可以判断为:数据传输时有部分丢失,或TCP确认消息丢失,服务器要求重传;电信至移动网络在传输数据时存在问题,数据包多次丢失,导致重传。MAS网页上156KB的页面文件总共传送了104s,
18、平均1.5KB/s;常州电信网内tracert常州移动地址(全部),与tracert其他地址(sina、sohu、google)做对比;根据tracert结果可以发现,去往常州移动的数据包在常州电信网内经过的路径,与其他目的地址的转发路径有区别,红色圈出部分为多出的跳点;以常州移动地址为源地址或目标地址的数据包,到达常州电信网内后,被强制送往某台设备再转发,并且该设备上做了一些限制;常州电信FTP下载结果常州移动网内架FTP服务器,地址为常州移动公网地址;常州电信用户访问该服务器,连接多次失败,偶尔连接成功后,下载速率仅为426B/s;常州电信对常州移动访问网内资源时做了带宽方面的限制;杭州电信FTP下载结果同时,我们用杭州电信用户主机访问常州移动FTP,下载速率可达80KB/s;杭州电信用户访问常州移动网站和MAS机均正常;其他运营商访问均正常,故障现象只发生在常州电信网内;临时解决办法1.常州移动网内架设代理服务器(采用新申请的公网IP地址);2.使用网上公开的代理服务器;谢谢 谢!谢!