关于Debug Trace的使用方法

更新时间:2024-04-01 13:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Trobleshooting中Debug trace功能参数说明

黄猛 2009-3-10

TMX or APV:

Debug trace 常用的命令格式为:

TMX2000# debug trace tcp all “[参数] [表达式]” TMX2000# debug trace live tcp “[参数]”

SPX:

Debug trace 常用的命令格式为:

SPX2000# debug trace trace all “[参数] [表达式]”

SPX2000# debug trace live “[参数]”

关于[参数],目前只支持以下参数:

-a -c -e -f -n -N -q -T -S -t -v -x -X

常用的参数:(常用的参数以红色标注) -a:将网络地址和广播地址转变成名字

-c :在收到指定的包的数目后,Debug抓包就会停止; -e: 所截取的每个包都显示链路层报头:源MAC地址>目的MAC地址 -f:将外部的Internet地址以数字的形式打印出来 -n: 把主机名或域名转换成IP地址 -N: 不列出域名

-T :将监听到的包直接解释为指定的类型的报文,常见的类型有rpc和snmp -t:在输出的每一行不打印时间戳;

-S:重定义截取报文大小,默认为96(或68),如果定义为0,则表示获取完整报文。该参数应尽量小,

尤其在繁忙网络环境中。

-v:输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; -x: 以16 进制数形式显示每一个报文(去掉链路层报头后) . 可以显示较小的完整报文 -X: 以16 进制数形式显示每一个报文(不包含链路层报头),同时显示ASCII码

关于表达式: 表达式是一个正则表达式,debug trace利用它作为过滤报文的条件,如果一个报文满足表 达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。

在表达式中一般如下几种类型的关键字, 第一种是关于类型的关键字,主要包括: Host Net Port 例如:

host 210.27.48.2,指明 210.27.48.2是一台主机, net 202.0.0.0 指明202.0.0.0是一个网络地址, port 23 指明端口号是23。

第二种是确定传输方向的关键字,主要包括: src,dst,dst or src,dst and src

这些关键字指明了传输的方向。举例说明:

src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明ip包中目的网络地址是202.0.0.0 。

如果没有指明方向关键字,则是抓取双向通讯过程,即src or dst关键字。

第三种是协议的关键字,主要包括: fddi,ip,arp,icmp,rarp,tcp,udp等类型

Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是\的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。

其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则debug trace将会监听所有协议的信息包。

第四种是逻辑运算的关键字,主要包括: 取非运算是 'not ' 或者 '! '

与运算是 'and' 或者 '&&' 或运算是 'or' 或者 '||'

其他重要的关键字如下:gateway, broadcast,less, greater,

这些关键字可以组合起来构成强大的组合条件来满足我们的需要,下面主要通过屏幕直显方式(即debug trace live tcp “[参数]”)来举例子说明参数的使用。 (1) 想要截获所有10.3.0.21的主机收到的和发出的所有的数据包: #debug trace live tcp outside “-n host 10.3.0.21”

(2) 如果想要捕获来自主机10.3.0.21除了端口为443之外所有主机通信报文,使用如下命令: #debug trace live tcp outside “-n host 10.3.0.21 and not port 443”

(3) 如果只想要捕获来自主机10.3.0.21接收或发出的HTTP(80端口)报文,使用如下命令: #debug trace live tcp outside “-n host 10.3.0.21 and port 80”

(4) 如果想捕获来自主机10.3.0.21的ping报文,并打印通讯过程中的MAC信息 ,使用如下命令: #debug trace live tcp outside “-ne host 10.3.0.21 and icmp”

(5) 如果捕获网络中的ARP报文,使用如下命令: #debug trace live tcp outside “-n arp”

关于TCP包的输出信息格式说明 用debug trace捕获的TCP包的一般输出信息是:

src.port1 > dst.port2: flags data-seqno ack window urgent options

src.port1 > dst.post2:表明从源地址.源端口到目的地址.目的端口,flags是TCP包中的标志信息,S 是SYN标志, F (F IN), P (PUSH) , R (RST) \没有标记);data-seqno是数据包中的数据的顺序号,ack是下次期望的顺序号,window是接收缓存的窗口大小,urgent表明数据包中是否有紧急指针,Options是选项.

(4) UDP包的输出信息 用debug trace捕获的UDP包的一般输出信息是: route.port1 > ice.port2: udp lenth

UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机 ICE的port2端口,类型是UDP,包的长度是lenth

本文来自: (www.91linux.com) 详细出处参考:

http://www.91linux.com/html/article/cmd/20090303/15902_2.html 本文来自: (www.91linux.com) 详细出处参考:

http://www.91linux.com/html/article/cmd/20090303/15902.html

http://www.91linux.com/html/article/cmd/20090303/15902.html

示例:#tcpdump -en -s 0 -XX -i eth0 host www.sina.com.cn -w telnet.out2 将截取到的报文输出到文件telnet.out2中。

示例:#tcpdump -en -s 0 -XX -i eth0 host www.sina.com.cn -r telnet.out2 从telnet.out2中读取报文

本文来源:https://www.bwwdw.com/article/9wjr.html

Top