dynamips/dynagen高级功能

一:ghostios feature
  想毕各位早就听说过这个特性,在运行多台IOS完全相同的路由器时,ghostios可以有效的减少主机物理内存和虚拟内存的占用,有了这个特性,每一个虚拟路由器管理一个IOS的备份在它的内存中,但主机只分配一块共享的物理内存以供所有路由器共用。要实现此功能主须在NET文件中加入” ghostios = true”一项。
此项可加在如下几个地方:
1.  如果用在NET文件的最上边ghostios特性将应用到此文件中的所有路由实例上。
2.  如果用在默认的“区块”中(如[[7200]])此特性只会应用到这个模块。
3.  注意:ghostios不能指定在服务器区块中,如[localhost]下边,如果指定了将被忽略。
最典型的应用就是用在NET文件最上边,因为有时候一个NET文件中都是相同的设备,特别是在做路由实验的时候。如果实验拓朴中有1台以上的路由都在用同一个IOS,那么Dynagen是相当智能的完成协调工作(作者的原话,我也这么认为)。

当这个功能开启的时候,NET文件中如果指定了workingdir= 则后在指定的目录下生成类似于c3660-ik9o3s-mz.124-10.image.ghost这样的文件,这个是映像的共享内存的文件。
打开此功能后用Windows的任务管理器看并没有什么效果,至于Ghostios是如何共享而节少内存的,在官方论坛上dynagen的作者写了一篇文章介绍ghostios的,看了半天,实在是难以理解。http://7200emu.hacki.at/viewtopic.php?t=364。且体还是自已去看吧,如果有哪位高手能翻译此文请翻译后发给我啊,共享一下!!谢了。

二:抓取据包
Dynamips/dynagen可以在Ethernet或是Serial口上抓得数据包,并可以保为常用抓包软件支持的文件格试,如tcpdump和Wireshark。然后就可以用tcpdump或Wireshark打开这个文件了
wireshark是什么?这个就是ethereal了,现在改名为Ethereal了,因为Ethereal核心程序员Gerald Coombs离开了NIS公司,加入CaceTech公司。由于最终没有与NIS公司(Ethereal商标的所有者)达成协议,Ethereal改名为Wireshark.,Ethereal网站上面没有反应,但Wireshark上面已经有了声明。这里多说了几句,我的一顾风格!!!(莫拍砖)

在下面这个环境中,抓r1的f0/0口上的数据,并保存为文件“r1.cap”:
model = 3660
[localhost]
     [[3660]]
     image = \Program Files\Dynamips\images\c3660-ik9o3s-mz.124-10.image          
      [[router r1]]
     f0/0 = r2 f0/0
     [[router r2]]
     s1/0 = r3 s1/0
     [[router r3]]
在dynagen的管理窗口中输入:capture r1 f0/0 r1.cap 就OK了
要停止抓包在dynagen管理窗口中输入:no capture r1 f0/0
当然dynagen也可以抓Serial口的数据,但要指定封装类型,可以支持的封装类型有PPP、FR(Frame-Relay)、HDLC。
还以上边拓朴为例抓r2的s1/0上的包:
capture r2 s1/0 r2.cap HDLC
结束用命令no capture r2 s1/0

当然我们也可也同时抓不同口或不同路由器上接口的数据。只须多次打入抓包的命令就哦了。

三:其他命令和特性
在dynagen目录中的configspec文件中还有很多特性,在管理窗口中打入?也有很多命令,在此介绍一下后者(翻译自管方指南)
1.  import / export–从路由器的中导入或导出NVRAM中的配置,保存为TXT文件。注意导出是从NVRAM导出,所以要在路由器中执行wr 命令。例导出R1的配置到c:\,在管理窗口中输入export R2 c:\。
2.  push / save-类似import / export命令,不同的是save 命令会把配置文件以BASE64编码格试写入NET文件中,由configuration=开头的部分就是,push则是从NET文件中读取配置。在本文下边提供一下BASE64编码解码工具。
(在此介绍个技巧:现在网上下东西经常见到类似于“迅雷专用下载链接”、“flashget专用下载链接”,其实并不用装WEB迅雷和flashget就可以下载。右击网页查看源码如是“迅雷专用下载链接”就搜索thunder://,如果是“flashget专用下载链接”就搜flashget://,//后边的内容就是BASE64编码的,用这个工具就可以查到明文的下载地址了,然后用什么下还不你说了算)
3.  filter –这个命令是用来模拟丢包的!可以指定每几个包中丢几个包,具体的在管理窗口中打入这个命令看看帮助吧!
4.  send –用于发送管理命令到dynamips进程,管理命令就是dynagen和dynamips进行通信的桥梁(有兴趣看看源码吧),对于用户没什么用,多数用于作者测试软件用的。
5.  ver –显示所用dynagen的版本号和所连接服务器(dynamips)的版本号。
6.  hist –显示dynagen管理窗口中输入的历史命令列表。
7.  py –用来执行python命令的,dynagen就是用这个软件写的。不多说了因为我不懂python编程。例:(“py print namespace.devices)
8.  shell (or !) –把所输入的命令传给DOS和Unix的shell处理,例:(例出当前目录中的所有文件”! dir”)
四:修改SecureCRT为dynagen默认telnet程序
笔者不喜欢用putty超级终端和cmd中的telnet,而偏爱SecureCRT,其吸吸我的地方在于它可以把多个管理窗口集成到一个窗口中。
方法为:在dynagen所在目录中找到dynagen.ini用#号注释掉现在的用的Telnet 程序那一行
加入telnet = start C:\progra~1\SecureCRT\SecureCRT.EXE /telnet %h %p

行了
又一篇大作,累了睡了,明天还要好好学习呢!!!

[file]http://www1.webng.com/beafuture/soft/base64.rar[/file]

发表评论

电子邮件地址不会被公开。 必填项已用*标注


Verify Code   If you cannot see the CheckCode image,please refresh the page again!