Tcpdump常用命令及基础故障定位

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

tcpdump基础

Tcpdump常用命令及基础故障定位3板斧!

在老4k系统和TOS中的.1平台和.8平台(猎豹)支持TCPDUMP命令。

Tcpdump中and、not、or、host、port、grep、-e、-vv参数的使用:

例1:在eth1口抓包,只显示地址为10.1.1.1和icmp协议的报文。

Tcpdump –i eth1 host 10.1.1.1 and icmp

例2:在所有的接口抓包,不显示4000端口的管理报文,和23端口的telnet报文。

Tcpdump –i any not port 4000 and not port 23 (在同时管理的时候很实用)

例3:在eth1口抓包,显示地址为211.1.1.1或10.1.1.1的报文。

Tcpdump –i eth1 host 211.1.1.1 or host 10.1.1.1 (针对MAP前后的地址同时抓包定位时非常实用)

例4:在所有的接口抓包,显示地址为10.1.1.1报文。

Tcpdump |grep host 10.1.1.1 (在adls环境中非常实用,封装了PPPOE的报文也能抓到,但是TOS不支持grep 的参数了)

在tos系统中,X86的平台下才有抓包的工具,-n表示不需要域名解析,加快抓包的速度。

并且-evv比老的4k系统中,能抓到更多的信息,其中还包括校验和。

例5:System tcpdump –i any –evv -n (TOS系统中最后必须加-n的参数,才能保证抓包的速度)

例6:System tcpdump –i ipsec0-n(TOS支持在ipsec0中抓包,来判断数据流是否进入隧道)

例7:System tcpdump –i ppp0-n(TOS支持在ppp0中抓包,来判断数据流是否进入PPPoE的封装)

下面的4个实例,详细阐述了目的地址转换时如何通过TCPDUMP抓包来快速定位故障点。

现场通过抓包来定位故障原因是最准确高效的方法:

下面抓包中,客户端源地址为168.36.126.1MAP地址为209.136.47.12服务器真实地址为11.68.21.12

对于目的地址转换,天融信也俗称为MAP转换。

例1、如果业务、ping都不通,抓包时只有第一个请求报文,没有匹配MAP转换,说明:

A: 防火墙没有到真实服务器的路由,而导致不能匹配MAP策略。

B: 或者是防火墙上没有开放对应的访问策略。

TOS# system tcpdump -i any host 168.36.126.1 -n

04:19:03.400000 IP 168.36.126.1 > 209.136.47.12: ICMP echo request, id 10706, seq 4161, length 64

例2、如果业务、ping都不通,抓包是匹配了MAP转换策略,说明:

A: 对方的服务没有回应。

B: 或者对方回应了但是路由错误,回应数据包没有到防火墙。

TOS# system tcpdump -i any host 168.36.126.1 -n

04:19:03.400000 IP 168.36.126.1 > 209.136.47.12: ICMP echo request, id 10706, seq 4161, length 64 04:19:03.404216 IP 168.36.126.1 > 11.68.21.12: ICMP echo request, id 10706, seq 4161, length 64

例3、如果业务、ping都不通,抓包显示最后一个报文没有正常转换,说明:

A: 防火墙上没有回指路由,而导致最后的报文没有发出。

TOS# system tcpdump -i any host 168.36.126.1 -n

04:19:03.400000 IP 168.36.126.1 >209.136.47.12: ICMP echo request, id 10706, seq 4161, length 64

04:19:03.404216 IP 168.36.126.1 > 11.68.21.12: ICMP echo request, id 10706, seq 4161, length 64

04:19:03.400000 IP 11.68.21.12 > 168.36.126.1: ICMP echo reply, id 10706, seq 4161, length 64

例4、如果业务、ping都不通,抓包显示报文正常转发,说明

A: TOS发出了数据包,但是匹配了错误的回指路由。

TOS# system tcpdump -i any host 168.36.126.1 -n

04:19:03.400000 IP 168.36.126.1 > 209.136.47.12: ICMP echo request, id 10706, seq 4161, length 64 04:19:03.404216 IP 168.36.126.1 > 11.68.21.12: ICMP echo request, id 10706, seq 4161, length 64

04:19:03.400000 IP 11.68.21.12 > 168.36.126.1: ICMP echo reply, id 10706, seq 4161, length 64

04:19:03.404365 IP 209.136.47.12 > 168.36.126.1: ICMP echo reply, id 10706, seq 4161, length 64

各位现场工程如果能掌握tcpdump的这3板斧,逐步养成遇到故障,自己先抓包分析定位一下,将对自己能力提高有很大的帮助。

接下来我们将给出tcpdump抓包如果来分析应用建立是否正常:

1、TCP建立时的3次握手过程。syn,syn ack,ack包的判断。

2、TCP传输报文push包的判断。

3、TCP正常拆除连接的4次握手过程。双向FIN、FIN ack包的判断。

4、TPC非正常拆除连接的报文RST包的判断。

1、TCP建立连接时3次握手的报文。(syn,syn ack,ack包)

05:03:36.632472 R@ipsec0 IP 192.168.71.100.1843 > 192.168.21.88.4630: S 21321858:21321858(0) win 16384

05:03:36.632664 R@ipsec0 IP 192.168.21.88.4630 > 192.168.71.100.1843: S 472888645:472888645(0) ack 21321859 win 17520

05:03:36.649547 R@ipsec0 IP 192.168.71.100.1843 > 192.168.21.88.4630: . ack 1 win 17520

2、TCP连接建立后,传输数据的PUSH报文。

05:03:36.649578 R@ipsec0 IP 192.168.71.100.1843 > 192.168.21.88.4630: P 1:73(72) ack 1 win 17520 05:03:36.650170 R@ipsec0 IP 192.168.21.88.4630 > 192.168.71.100.1843: P 1:33(32) ack 73 win 17448

3、TCP拆除连接时4次握手的报文。(双向FIN、FIN ack包)

05:03:36.650204 R@ipsec0 IP 192.168.21.88.4630 > 192.168.71.100.1843: F 33:33(0) ack 73 win 17448 05:03:36.666213 R@ipsec0 IP 192.168.71.100.1843 > 192.168.21.88.4630: F 73:73(0) ack 33 win 17488 05:03:36.666241 R@ipsec0 IP 192.168.71.100.1843 > 192.168.21.88.4630: . ack 34 win 17488

05:03:36.666335 R@ipsec0 IP 192.168.21.88.4630 > 192.168.71.100.1843: . ack 74 win 17448

相关文档
最新文档