




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 目的在ADSL、AG及其他产品的日常排障过程中经常需要现场进行抓包配合,本文档提供了Wireshark的常用操作指南。2. 范围AG、ADSL现场工程师。3. Wireshark安装作为Ethereal的替代产品,Wireshark()是一款优秀且免费的抓包分析软件,可到Internet自行下载安装。Wireshark的安装软件包由Wireshark-setup和WinPcap等2个安装文件组成。4. Wireshark使用4.1 抓包点击菜单Capture - Options,打开Capture Options窗口。在Interface中选择网络接口;在Capture Filter中输入需要过滤的协议(如过滤megaco协议,输入udp port 2944);在Capture File(s)的File中输入要保存的抓包文件名,如要将抓包分文件保存,则在Use multiple files中选择保存文件的分割机制,如下图每5M就保存一个文件;如需要实时显示抓包结果并让抓包结果自动滚屏,则在Display Options中选中Update list of packets in real time和Automatic scrolling in live capture。Interface:这项用于指定截包的网卡。Link-layer header type:指定链路层包的类型,一般使用默认值。Buffer size(n megabyte(s):用于定义Ethereal用于截包的缓冲,当缓冲写满后,就将截的数据写道磁盘上。如果遇到ethereal丢包现象,将该缓冲尽量增大。Capture packets in promiscuous mode:截包时,Ethereal将网口置于混杂模式。如果没有配置这项,Ethereal只能截取该PC发送和接收的包(而不是同一LAN上的所有包)。Limit each packet to n bytes:定义Ethereal截取包的最大数据数,大于这个值的数据包将被丢掉。默认为65535。点击Start启动抓包。如果开启了自动保存文件机制,请确认自动存盘的前3个文件,确保机制生效。并定期检查磁盘空间,以防磁盘空间溢出。如果用Dell笔记本抓包时发现无法抓到带VLAN Tag的包,请修改注册表,修改方法参见附录。4.1.1 常用抓包过滤命令为防止抓包文件过大而影响分析效果,可在抓包阶段就设置抓包过滤(在Capture Filter中输入需要过滤的协议或命令)。现将常用抓包过滤命令总结如下:抓包过滤要求抓包过滤命令MAC地址为00:18:8b:ba:86:d6的报文ether host 00:18:8b:ba:86:d6IP地址为0的报文host 0VLAN id为100的报文vlan 100ARP报文arpPPPoE报文pppoedDHCP报文udp port 67 or udp port 68IGMP报文ip multicast and not udpmegaco信令报文(通常端口为2944)udp port 2944sip信令报文(通常端口为5060)udp port 5060SCTP报文(通常端口为9900)udp port 9900Ethereal 截包过滤条件,通过and 和or,将一系列的primitive 表达式连接在一起,有时可在primitive表达式前用not。not primitive and|or not primitive例一:tcp port 23 and host 。这个例子表示只截取发给主机的telnet数据包或主机发出的telnet数据包。例二:tcp port 23 and not host 。这个例子表示截取所有的telnet数据包,除了主机收发的telnet数据包。Primitive表达式如下:l src|dst host host 通过主机IP地址/名称过滤截取的数据包。也可以在前面加关键字src|dst来限制是目的或源地址。l ether src|dst host ehost 同上,只是通过MAC地址来过滤。l gateway host host 截取将该主机作为网关的包,即MAC地址是主机的地址,而包的源和目的IP都不是该主机的IPl src|dst net netmaskmask|lenlenl tcp|udp src|dst port port 通过TCP/UDP的端口过滤l less|greater length 截取数据保小于、等于指定的大小;或大于、等于指定的大小。l ip|ether proto protocol IP/Ethernet层的指定协议。l ether|ip broadcast|multicast 截取ether/ip的广播包。l expr relop expr 允许建立一个更复杂的表达式,可以通过它来选取数据包的字节或字节范围来过滤。4.2 分析为便于分析,可在查看抓包文件时设置过滤。4.2.1 ADSL如检查PC(MAC地址为00:06:5b:e1:96:e9)的PPPoE拨号过程,可在Filter中输入eth.addr = 00:06:5b:e1:96:e9 and (pppoed or ppp)。一旦截取数据包后,或打开以前截取的数据包文件,显示如Error! Reference source not found.。显示有三个视图分区:“Packet List”、“Packet Details”、“Packet bytes”。“Packet List”用于显示所数据包,如果这是有显示过滤条件,显示的是满足该条件的所有包。“Packet Details”用于显示在“Packet List”视图中选定的数据包的详细信息。“Packet Bytes”以十六进制方式显示“Packet List”视图中选定的数据包的信息。4.2.2 AG如检查AG中2个端口(如tdm/1与tdm/2)之间的通话消息,则可在Filter输入megaco先进行H.248信令过滤。重点查看AG对软交换choose one add消息的reply,以明确AG为这2个端口分配的context号和local rtp端口号。如上图,tdm/1的context号为310,local rtp端口号为40034;tdm/2的context号为275,local rtp端口号为40036。如需过滤这两个端口的H.248信令,则在Filter中输入megaco.termid = tdm/1 or megaco.termid = tdm/2 or megaco.context = 310 or megaco.context = 275。除了过滤这2个端口的H.248信令,如还需要过滤RTP,则在Filter中输入megaco.termid = tdm/1 or megaco.termid = tdm/2 or megaco.context = 310 or megaco.context = 275 or udp.port = 40034 or udp.port = 40036。点击菜单Statistics - RTP - Show all streams,打开RTP Streams窗口。其中列出抓包文件中所有的RTP Stream。选中要查看的stream,再点击Analyze,打开RTP Stream Analysis窗口,进一步检查该stream的丢包率,jitter等。点击Save payload则可将该RTP Stream保存为声音文件。(Wireshark Version 1.0.3版本将RTP包导成声音文件时有bug,建议尝试用Ethereal完成此操作。)显示过滤表达式Ethereal提供了简单但是很强大的过滤语言,通过它我们可以建立复杂的显示过滤表达式。我们可以比较数据包的数据值,也可以将多个表达式合成一个更复杂的表达式。接下来将详细介绍。显示过滤域(Display filter fields)在“Packet details”视图中的每一个域能够用作一个过滤字符串(filter string),这样,就只显示存在该域的数据包。例如:过滤字符串:tcp,这就只显示所有tcp协议的包。比较表达式我们可以创建一个比较值的显示过滤条件,通过使用不同的比较操作符。它们显示在Error! Reference source not found.英语(English)类C(C-like)描述和举例(Description and Example)eq= =等于ip.addr= =1ne!=不等于ip.addr!=1gt大于frame.pkt_len10lt小于frame.pkt_len10ge=大于或等于frame.pkt_len ge 0x100le=小于或等于frame.pke_len=0x20所有的域(Field)都是有类型,见Error! Reference source not found.类型举例Unsigned integer(8-bit,16bit,24bit,32bit)无符号整型可以表示为十进制、八进制、十六进制。下面的表达式是等同的。ip.len le 1500ip.len le 02734ip.len le 0x436Signed integer(8-bit,16-bit,24-bit,32-bit)BooleanEthernet address(6 bytes)Eth.addr= =ff.ff.ff.ff.ff.ffIpv4 addressIp.addr= =1Ipv6 addressIPX network numberString(text)Double-precision floating point number我们经常使用这样的一个过滤条件:ip.addr=,它将只显示包含ip地址的所有包。 我们理所当然的认为ip.addr!=的过滤条件将不会显示ip地址为的所有包。其实不然。它说表达的意思为:“数据包有一个ip.addr的域值不等于”(the packet contains a field named ip.addr with a value different from ) 如果我们想过滤所有包含ip地址为的数据包,我们必须将表达式写为:!(ip.addr=)。组合表达式通过逻辑操作符,我们可以组合过滤条件表达式。逻辑操作符如Error! Reference source not found.英语(Englishi)类C(C-like)描述和举例(Description and example)AndLogical AND Ip.addr= = and tcp.flags.finOr|Logical OR Ip.addr= = or ip.addr= =XorLogical XOR Tr.dest0:3= =0.6.29 xor tr.src0:3= =0.6.29 Tr(token ring MAC)Not!Logical NOT Not llc(Logical-link controlt)Substring OperatorEthereal允许我们选取一个子序列。下面例子中的eth00:00.83:00:20:20eth.src0:3= =00:00:83上面的例子用了n:m格式定义一个范围,n表示开始的位置,m表示这个范围的长度。eth.src1-2= =00:83上面的例子用了n-m格式定义一个范围,n表示开始的位置,m表示结束的位置。eth.src:4= =00:00:83:00上面的例子用了:m格式定义一个范围,等价为0:m。eth.src4:= =20:20上面的例子用了m:格式定义一个范围,表示从eth序列位置m到其结束的子序列。eth.src2= =83上面的例子用n的格式表示一个范围。这个例子表示在n位置的值。eth.src0:3,1-2,:4,4:,2= =00:00:83:00:83:00:00:83:00:20:20:83Ethereal 允许我们将各种独立的子集组合成另外一个独立的范围集,如上例。“Filter Expression”对话框当我们很熟练的使用ethereal的过滤系统,很容易就写出一个过滤表达式。但如果是一ethereal初学者或者对协议不是很熟悉,这就比较困难。我们这时可以通过“Filter Expression”对话框来写过滤条件。如Error! Reference source not found.“Filter Expression”对话框:树形域名(Field name)列表(协议排序);关系运算符(relation)选择列表。l Filed Name:从协议域名树中选择一个协议域名。每一个协议位于最上部,并带有可设为过滤条件的域。通过点击协议名称后的“+”,我们可以看到一系列的可设为过滤条件的域。l Relation: 选择一个关系运算符。“is present”是一元(unary)关系运算符。如果被选的域名存在数据包中,就是true;其它的关系运算符是二元的(binary),还需要一个数据来结束这个表达式(如,需要一个值(Value)来配合)。l Value:我们可以在“Value”文本框中输入合适的值。注意数据类型应该与域名(field name)匹配。l Range:相当于SubString运算符 。时间显示格式当我们截包时,ethereal给每一个数据包一个时间戳(timestamped)。当我们显示数据包时,我们可以设定时间戳的显示形式。如Error! Reference source not found.。l Time of Dayl Date and Time of Dayl Seconds Since Beginning of Capturel Seconds Since Previous Packet过滤成248协议保存文件如果只需要抓取H248信令,点击Capture选择Option出现如下示图:图 01 Capture Option点击Capture Filter出现下面示图:图 02 Capture Filter选择“New”在下面Filter name里输入megaco,在Filter string里输入:udp port 2944 and port 2944 (megaco的过滤条件)图 03 设置megaco的过滤条件点击OK就创建好了过滤megaco的规则,这样直接就可以抓包,只会抓到H248的信令消息。信令过滤与保存由于同一MG下仍然可能有多个用户在同时使用,为了显示我们关注的用户,可以在察看时进行条件过滤,例如:megaco.termid=USER00600800031|megaco.termid=RTP00200300060由于在抓包软件中察看信令不大方便,还可以把信令导出为文本格式,如下图;需要注意的是,抓包软件不可能完全智能,过滤时有可能滤掉一些东西,例如某些报错的响应之类,所以应针对具体故障现象结合原始报文来看。丢包与网络抖动利用抓包软件的分析功能,可以比较容易的看出媒体流是否有丢包,如下图,在RTP菜单中,点击“Show All Streams”即可看到丢包。对于较小的丢包,可以在两端配置冗余来规避。但根本上应排查网络问题。图 04 查看丢包类似的,RTP菜单 “Stream Analysis”即可看到网络时延是否稳定;图 05 查看网络时延这里所说的网络抖动在WireShark中可以通过Delta的值来衡量,Delta是相邻两个媒体包之间的间隔值。因为网关发送媒体包时的打包间隔是固定的,在没有网络抖动的情况下,接收侧网关收到的媒体流的Delta也应该是一个定值。当有网络抖动时,Delta的值会随着网络抖动而变化。媒体流还原对捕获的报文除了分析协议运作外,还可以还原成音频流进行问题判断。如果打开报文看到的媒体流类型是UDP,可以右击任意UDP报文,选“Decode As”端口选“Both”,类型选RTP,即可解码为RTP流。然后在RTP菜单(Statistics或Telephony菜单下)中,选择”show All Streams”, 在弹出的窗口中选中其中某次媒体流交互(根据交互的IP地址来选),点”Analyze”分析
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 印染定型工操作考核试卷及答案
- 贵金属首饰与宝玉石检测员内部技能考核试卷及答案
- 2025年科室医疗质量培训考核试卷含答案
- 2025年海南省中央遴选和选调公务员考试(综合知识)模拟试题及答案解析
- 2025年测绘程序试题集及答案
- 2025护士资格证考试题库及答案
- 2025年氢能基础设施建设投资策略与技术创新深度分析报告
- 2023年度执业药师试题预测试卷及完整答案详解(典优)
- 2025年储能电池在电网调峰中的应用案例分析报告
- 2025年浙江省嵊州市中考数学考前冲刺练习题含完整答案详解【夺冠系列】
- 农业现代化种植技术培训课件
- 2025版煤矿安全规程宣贯培训课件
- DB31∕T 1545-2025 卫生健康数据分类分级要求
- 新课标(水平三)体育与健康《篮球》大单元教学计划及配套教案(18课时)
- 《幼儿园保育教育质量评估指南》知识专题培训
- 安全学原理第2版-ppt课件(完整版)
- DB32-T 3751-2020公共建筑能源审计标准-(高清现行)
- 建设工程施工合同最新版(示范文本)(GF—2021—0201)
- 苹果电脑的发展史ppt课件
- 自动扶梯电气原理图讲解
- 北京中考英语词汇表1600词汇+词组
评论
0/150
提交评论