[CCNA图文笔记]-11-Ping、Traceroute应用与排错

0×1.实例拓扑图与配置
C1是使用VPCS虚拟出来的一台计算机,SW1是一台不可网管交换机(并非IOU中的交换机,GNS3中自带的"Ethernet switch",拖拽到工作区后会提示选择Server,选择"Local Server"即可),R1、R2、R3上都添加了"NM-4T"串口,R1上还添加了一个"NM-1FE-TX"快速以太网端口。R3上面配置了一个回环接口3.3.3.3/24,各设备IP配置和连接如下图:


Cisco-CCNA-Network-Analyst-1
Cisco-CCNA-Network-Analyst-1

VPCS配置如下:
1

/配置vpcs的
ip
子网掩码与网关
/

2

VPCS> set pcname C1

3

C1>
ip
192.168.1.2 255.255.255.0 192.168.1.1

4

C1 : 192.168.1.2 255.255.255.0 gateway 192.168.1.1

R1配置如下:
01

Router>
en

02

Router#
conf
t

03

Router(config)#
host
R1

04

R1(config)#line co 0

05

R1(config-line)#
logg
syn

06

R1(config-line)#
exec-t
0 0

07

R1(config-line)#
exit

08

R1(config)#
int
fa 1/0

09

R1(config-if)#
ip
add
192.168.1.1 255.255.255.0

10

R1(config-if)#
no
shut

11

R1(config-if)#
int
s 0/0

12

R1(config-if)#
ip
add
12.1.1.1 255.255.255.0

13

R1(config-if)#
no
shut

14

R1(config-if)#
end

15

R1#

R2配置如下:
01

Router>
en

02

Router#
conf
t

03

Router(config)#line co 0

04

Router(config-line)#
logg
syn

05

Router(config-line)#
exec-t
0 0

06

Router(config-line)#
exit

07

Router(config)#
host
R2

08

R2(config)#
int
s 0/1

09

R2(config-if)#
ip
add
12.1.1.2 255.255.255.0

10

R2(config-if)#
no
shut

11

R2(config-if)#
int
s 0/2

12

R2(config-if)#
ip
add
23.1.1.2 255.255.255.0

13

R2(config-if)#
no
shut

14

R2(config-if)#
end

15

R2#

R3配置如下:
01

Router>
en

02

Router#
conf
t

03

Router(config)#
host
R3

04

R3(config)#line co 0

05

R3(config-line)#
logg
syn

06

R3(config-line)#
exec-t
0 0

07

R3(config-line)#
int
s 0/3

08

R3(config-if)#
ip
add
23.1.1.3 255.255.255.0

09

R3(config-if)#
no
shut

10

R3(config-if)#
exit

11

R3(config)#
int
loopback
0 /配置回环接口0/

12

R3(config-if)#
ip
add
3.3.3.3 255.255.255.0

13

R3(config-if)#
no
shut

14

R3(config-if)#
end

15

R3#

0×2.测试连通性
首先在C1上面测试ping自己的网关(R1的fa1/0接口)
01

/可以
ping
/

02

C1>
ping
192.168.1.1

03

192.168.1.1 icmp_seq=1 ttl=255 time=49.000 ms

04

05

/继续在C1上测试
ping
不同网段的地址
/

06

07

/*
ping
网关R1上的串口,成功*/

08

C1>
ping
12.1.1.1

09

12.1.1.1 icmp_seq=1 ttl=255 time=29.000 ms

10

11

/*
ping
R2和R1相连的接口,超时*/

12

C1>
ping
12.1.1.2

13

12.1.1.2 icmp_seq=1 timeout

这一步为什么会超时呢?是不是数据包没有到达R2?我们在R2上开启debug命令进行调试:
01

R2#debug
ip
icmp

02

ICMP packet debugging is on

03

04

/开启调试后,再一次用C1去
ping
12.1.1.2,发现R2上出现了下面的提示
/

05

R2#

06

*Mar 1 00:17:10.135: ICMP: echo reply sent, src 12.1.1.2, dst 192.168.1.2

07

08

/关闭所有调试的方法是undebug all/

09

10

/从上面的显示可以看出R2收到了C1发送过来的ICMP包,我们查看一下R2的路由表/

11

R2#
show
ip
route

12

/主要看下面这一部分/

13

Gateway of last resort is not set

14

15

23.0.0.0/24 is subnetted, 1 subnets

16

C 23.1.1.0 is directly connected, Serial0/2

17

12.0.0.0/24 is subnetted, 1 subnets

18

C 12.1.1.0 is directly connected, Serial0/1

19

20

/*

21

  • 从输出可以明显的看到R2的路由表中有两个直连条目(C)

22

  • 发往23.1.1.0/24网段的数据从Serial0/2发出

23

  • 发往12.1.1.0/24网段的数据从Serial0/1发出

24

  • 并没有发往192.168.1.0/24网段的路由条目

25

*/

R2不知道发往192.168.1.0/24网段的数据应该从哪个接口发出,所以R2丢弃192.168.1.2发送过来的数据。
下面给R2添加静态路由,让他知道发往192.168.1.0/24网段的数据应该发给12.1.1.1(R1),之后C1再ping 12.1.1.2,就能ping通了,关于静态路由的知识会在后面的文章中详细介绍,这里有这个概念就可以了:
1

/添加静态路由,去往192.168.1.0/24网段的数据发给12.1.1.1/

2

R2(config)#
ip
route
192.168.1.0 255.255.255.0 12.1.1.1

这个时候C1 ping R3的任何地址都是ping不通的,因为数据包到达R1后,R1检查自己的路由表,它会发现没有任何去往R3的路由条目(3.3.3.0/24、23.1.1.0/24),所以它会直接给C1回复"Destination host unreachable 主机不可达":
01

C1>
ping
3.3.3.3

02

*192.168.1.1 icmp_seq=1 ttl=255 time=20.000 ms (ICMP type:3, code:1, Destination
host
unreachable)

03

04

C1>
ping
23.1.1.2

05

*192.168.1.1 icmp_seq=1 ttl=255 time=20.000 ms (ICMP type:3, code:1, Destination
host
unreachable)

06

07

C1>
ping
23.1.1.3

08

*192.168.1.1 icmp_seq=1 ttl=255 time=26.000 ms (ICMP type:3, code:1, Destination
host
unreachable)

09

10

/*在R1上开启ICMP调试,就会看到下面的输出,R1对C1的每一个ICMP报文都回复
"目标主机不可达"
*/

11

R1#debug
ip
icmp

12

*Mar 1 00:34:55.587: ICMP: dst (23.1.1.3)
host
unreachable sent to 192.168.1.2

要想让这个拓扑图中的每台设备都能互相ping通,需要在R1、R2、R3上面添加下面的静态路由条目:
1

/R1添加一条默认路由目的地是12.1.1.2(R2)/

2

R1(config)#
ip
route
0.0.0.0 0.0.0.0 12.1.1.2

3

4

/R2添加下面两条静态路由,分别指向R1的以太网网段以及R3的环回接口网段,告诉路由器去往192.168.1.0/24网段的数据应该发给12.1.1.1,去往3.3.3.0/24的数据应该发给23.1.1.3/

5

R2(config)#
ip
route
192.168.1.0 255.255.255.0 12.1.1.1

6

R2(config)#
ip
route
3.3.3.0 255.255.255.0 23.1.1.3

7

8

/R3也添加一条默认路由,目的地是23.1.1.2(R2)/

9

R3(config)#
ip
route
0.0.0.0 0.0.0.0 23.1.1.2

这个时候,不论在哪个设备上,都能ping通拓扑上的所有接口IP;下面是R1上面ping R3回环接口的返回信息:
1

R1#
ping
3.3.3.3

2

3

Type escape sequence to abort.

4

Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:

5

!!!!!

6

/*

7

  • 这里显示五个感叹号,说明上面默认
    ping
    发送5次,
    ping
    成功5次

8

  • 如果超时会显示省略号
    "....."

9

*/

关闭R3的回环接口,就会出现超时的情况:
01

R3#
conf
t

02

R3(config)#
int
lo
0

03

R3(config-if)#
shut
/关闭回环接口/

04

05

06

/使用R1去
ping
,显示超时,实际上这里产生了路由环路
/

07

R1#
ping
3.3.3.3

08

09

Type escape sequence to abort.

10

Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:

11

.

12

*Mar 1 00:45:09.355: ICMP: time exceeded rcvd from 23.1.1.2.

13

14

/对每一个
ping
,R2都会返回一条信息,意思是TTL=0了,数据包被丢弃,实际上是因为这种静态路由配置出现了路由环路,如果回环口没有关闭,R3将应答这个ICMP,但是此时R3上回环关闭了,R3根据自己的默认路由又将数据发回R2,R2再次将数据发回R3;而这条信息为什么会在R2上呢?这是因为,每个ICMP报文中都有一个TTL字段,这个字段的初始值是32,64,128,256中的一个,而每经过一台路由,这个值自动减一,直到变成0,ICMP包从R1发往R2的时候,初始TTL是一个偶数,通过R2之后变成了奇数,通过R3发回R2的时候又变成了偶数,然后这个数据包在R2和R3之间不停来回发送(因为静态路由表的原因),直到TLL=0,而根据这个数学模型分析,偶数的时候这个数据包是在R2上的,所以R2丢弃这个数据包,并且返回一条信息
/

15

*Mar 1 00:45:07.991: ICMP: time exceeded (time to live) sent to 12.1.1.1 (dest was 3.3.3.3)

下面我们打开R3的lo0回环接口,关闭R2的s0/2,再次用R1去ping 3.3.3.3:
01

R3(config)#
int
lo
0

02

R3(config-if)#
no
shut

03

04

/关闭R2与R3相连的s0/2接口/

05

R2(config-if)#
int
s 0/2

06

R2(config-if)#
shut

07

08

/*R1开始
ping
*/

09

R1#
ping
3.3.3.3

10

11

Type escape sequence to abort.

12

Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:

13

14

U /(U)代表目的主机不可达/

15

16

*Mar 1 00:53:32.091: ICMP: dst (12.1.1.1)
host
unreachable rcv from 12.1.1.2

17

18

/R2上的显示如下/

19

R2#

20

*Mar 1 00:53:34.823: ICMP: dst (3.3.3.3)
host
unreachable sent to 12.1.1.1

21

22

/*

23

  • 查看R2路由表,发现直连接口条目23.1.1.0/24消失了

24

  • 同样,目的地址是这个直连接口网段的静态路由条目也消失了

25

  • 所以R2返回一个消息告诉R1
    "(3.3.3.3) host unreachable"

26

*/

27

R2#
show
ip
route

28

29

Gateway of last resort is not set

30

12.0.0.0/24 is subnetted, 1 subnets

31

C 12.1.1.0 is directly connected, Serial0/1

32

S 192.168.1.0/24 [1/0] via 12.1.1.1

打开R2的s0/2继续下面的实验。
0×3.高级ping命令和路由追踪命令traceroute
使用高级ping命令,从R1 ping R3的回环接口:
01

R1#
ping
/直接输入
ping
,回车
/

02

Protocol [
ip
]: /选择协议,默认IP协议回车即可/

03

Target IP
address
: 3.3.3.3 /选择目标IP,这里是R3的lo0接口IP/

04

Repeat count [5]: 10 /*
ping
次数,本例输入10次,默认5次*/

05

Datagram size [100]: /数据包大小,默认回车即可/

06

Timeout in seconds [2]: /超时时间,直接回车/

07

Extended commands [n]: y /是否显示扩展命令,输入y/

08

Source
address
or
interface
: 192.168.1.1

09

/选择用本地的哪个接口去
ping
,这里选择R1的以太网接口
/

10

Type of service [0]: /下面暂时不用理会,一路回车/

11

Set DF bit in IP header? [
no
]:

12

Validate reply data? [
no
]:

13

Data pattern [0xABCD]:

14

Loose, Strict, Record, Timestamp, Verbose[none]:

15

Sweep range of sizes [n]:

16

Type escape sequence to abort.

17

Sending 10, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:

18

Packet sent with a
source
address
of 192.168.1.1

19

!!!!!!!!!! /可以看到
ping
通了十次
/

20

Success
rate
is 100 percent (10/10), round-trip min/avg/
max
= 16/40/64 ms

21

22

/高级
ping
命令能同样能实现路由跟踪
/

23

R1#
ping

24

Protocol [
ip
]:

25

Target IP
address
: 3.3.3.3

26

Repeat count [5]: 1 /Ping一次/

27

Datagram size [100]:

28

Timeout in seconds [2]:

29

Extended commands [n]: y /使用扩展/

30

Source
address
or
interface
: 192.168.1.1 /选择源端口/

31

Type of service [0]:

32

Set DF bit in IP header? [
no
]:

33

Validate reply data? [
no
]:

34

Data pattern [0xABCD]:

35

Loose, Strict, Record, Timestamp, Verbose[none]: r /这里输入r/

36

Number of hops [ 9 ]:

37

Loose, Strict, Record, Timestamp, Verbose[RV]:

38

Sweep range of sizes [n]:

39

40

/记录ICMP包从发出到返回所经过的端口(外出方向)/

41

Reply to request 0 (96 ms). Received packet has options

42

Total option bytes= 40, padded length=40

43

Record
route
:

44

(12.1.1.1) /首先从R1的这个接口发出/

45

(23.1.1.2) /到达R2,R2从这个接口发出/

46

(3.3.3.3) /到达目的地/

47

(23.1.1.3) /ICMP包开始返回,R3从这个接口发回给R2/

48

(12.1.1.2) /到达R2,R2从这个接口发给R1/

49

(192.168.1.1) <> /回到起点*/

50

(0.0.0.0)

51

(0.0.0.0)

52

(0.0.0.0)

53

End of list

ping命令可以测试网络通不通,但是如果中间网络不通,ping不能很好的定位问题出在哪里,而traceroute可以很好的定位问题出现的位置,下面是正常状态下在R1上traceroute 3.3.3.3的结果:
01

R1#traceroute 3.3.3.3

02

03

Type escape sequence to abort.

04

Tracing the
route
to 3.3.3.3

05

06

1 12.1.1.2 40 msec 24 msec 40 msec

07

2 23.1.1.3 28 msec 48 msec *

08

09

/*

10

  • 可以看到数据首先经过了12.1.1.2,然后到达23.1.1.3

11

  • 3.3.3.3和23.1.1.3同处于R3上,所以追踪到此完成

12


  • ping
    追踪不同的是,traceroute记录的是路由的接收端口,而
    ping
    记录的是路由的发出端口

13

*/

Traceroute的工作原理:
首先,发送设备将数据包中的TTL设置成1,数据包会被第一台接收路由器丢弃,返回一个错误码信息,发送设备根据错误码信息判断经过的中间设备和延时,发送设备一般发送三个重复的包(这就是为什么每个IP后面有3个返回时间的原因"12.1.1.2 40 msec 24 msec 40 msec");之后发送设备发送TTL为2的数据包,再发送TTL为3的数据包,直到数据包达到目的地或者TTL=30为止;在正常情况下,除非路由存在环路,否则TTL不会超过30就到达目的地;数据到达目的地后,目的设备会返回一个"端口不可达",发送设备就是利用返回的是错误码,还是端口不可达判断是否到达了目的主机。
0×4.常用排错命令

01

/针对某接口,以太网接口可以看到MAC地址,带宽,IP地址等/

02

R1#
show
interfaces
fa 1/0

03

FastEthernet1/0 is up, line protocol is up

04

Hardware is AmdFE,
address
is cc00.143c.0010 (bia cc00.143c.0010)

05

Internet
address
is 192.168.1.1/24

06

07

08

/查看接口是否开启/

09

R1#
show
ip
interface
brief

10

Interface IP-Address OK? Method Status Protocol

11

Serial0/0 12.1.1.1 YES manual up up

12

Serial0/1 unassigned YES unset administratively down down

13

Serial0/2 unassigned YES unset administratively down down

14

Serial0/3 unassigned YES unset administratively down down

15

FastEthernet1/0 192.168.1.1 YES manual up up

16

17

/查看路由器IOS版本,硬件信息等/

18

R1#
show
version

19

/最后一行会显示配置寄存器的值/

20

Configuration register is 0x2102

21

22

/查看路由器接口硬件信息/

23

R1#
show
controllers fa 1/0

24

25

/*

26

  • 查看路由器接口硬件信息,

27

  • 如果是串行接口可以看到如下一行,可以判断接口是DCE端还是DTE端还有时钟

28

  • cable type : V.11 (X.21) DCE cable, received clockrate 2015232

29

*/

30

R1#
show
controllers s 1/0

31

32

/查看路由器ARP缓存/

33

R1#
show
arp

34

Protocol Address Age (min) Hardware Addr Type Interface

35

Internet 192.168.1.1 - cc00.143c.0010 ARPA FastEthernet1/0

36

Internet 192.168.1.2 42 0050.7966.6800 ARPA FastEthernet1/0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容