免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7604 | 回复: 13
打印 上一主题 下一主题

自动登录、更新路由器工具软件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-31 12:55 |只看该作者 |倒序浏览
花了几天时间写了个小工具用于自动登录所有用telnet及SSH方式管理的设备,可以支持自定义登录过程文件,可选获得shell或者完成特定任务后退出。
欢迎大家下载测试,提出宝贵意见和需要的其它实用功能。

[root@localhost:/root/]#auto_cmd_tool –help
Usage: auto_cmd_tool [OPTION] –l <login type> -t <target-device type> <target host> [port]
-c [配置文件名] 指定全手工配置文件,程序完全按照该配置文件执行。指定该参数将完全忽略-t,-p,-u等参数。
-t  [设备类型名] 目标设备类型。目标设备类型列表见/etc/act/dcfg目录中的文件名列表。如cisco.cfg,quidway.cfg,linux.cfg等,可以支持自定义cfg文件到该目录之下。设备类型名应与该类文件名的主文件名相同,如指定了一个不存在该类配置文件的设备名则将退出。
-1 [第一层密码] 该参数必须与-t参数共用,指定配置文件内$PASSWORD_0变量的内容。
-2 [第二层密码]   该参数必须与-t参数共用,指定配置文件内$PASSWORD_1变量的内容。
- 3/4[第三、四层密码]  同-1/-2。
-u  [用户名] 该参数必须与-t参数共用,指定配置文件内$USERNAME变量的内容。
-s 表示在执行完脚本之后,不要退出进程,直接获取一个用户的shell。
工具用途:
       自动化的可配置的自动执行工具,可支持telnet及ssh登录。可自定义配置文件以描述任意设备的登录过程,加-s参数可直接获得自动登录后的一个shell,不加-s参数也可以调用它完成一些自动更新设备信息功能。
自动登录CISCO路由器举例:
cisco.cfg文件:
["Username:",$USERNAME,"Password:",5,normal]
[NULL,$PASSWORD_1,">",5,normal]
[NULL,"enable","Password:",5,normal]
[NULL,$PASSWORD_2,"#",5,normal]
[NULL,"config terminal","CNTL/Z.",5,normal]
["(config)#","do show ver",NULL,5,normal]
使用auto_cmd_tool自动登录路由器:
[root@linux-develop debug]# ./auto_cmd_tool -l telnet -t cisco -u cisco -1 cisco -2 123456 192.168.1.250 -s
####################################################
#   AUTO-CMD-SCRIPT-EXEC SUCCESS! ENTER IN SHELL!  #
####################################################
do show ver
Cisco Internetwork Operating System Software
IOS (tm) 3600 Software (C3640-JK9O3S-M), Version 12.2(15)T17, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Fri 12-Aug-05 13:32 by kehsiao
Image text-base: 0x60008950, data-base: 0x62046000
ROM: ROMMON Emulation Microcode
ROM: 3600 Software (C3640-JK9O3S-M), Version 12.2(15)T17, RELEASE SOFTWARE (fc1)
Router uptime is 6 hours, 51 minutes
System returned to ROM by unknown reload cause - suspect boot_data[BOOT_COUNT] 0x0, BOOT_COUNT 0, BOOTDATA 19
System image file is "tftp://255.255.255.255/unknown"

This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
If you require further assistance please contact us by sending email to
export@cisco.com.
cisco 3640 (R4700) processor (revision 0xFF) with 94208K/4096K bytes of memory.
Processor board ID 00000000
R4700 CPU at 100Mhz, Implementation 33, Rev 1.2
Bridging software.
X.25 software, Version 3.0.0.
SuperLAT software (copyright 1990 by Meridian Technology Corp).
TN3270 Emulation software.
3 FastEthernet/IEEE 802.3 interface(s)
DRAM configuration is 64 bits wide with parity enabled.
125K bytes of non-volatile configuration memory.
8192K bytes of processor board System flash (Read/Write)
Configuration register is 0x2102
Router(config)#

Router(config)#
Router(config)#
Router(config)#exit
Router#
Router#exit
Connection closed by foreign host.
####################################################
#                      SHELL EXIT!                 #
####################################################
自动登录linux SSH过程:
linux.cfg文件:
["yes/no","yes",NULL,2,ignore]
["password:",$PASSWORD_1,"$",5,normal]
[root@linux-develop debug]# ./auto_cmd_tool -l ssh -t linux -1 ljj ljj@192.168.1.3 22 -s
Execute cmd step err (wait banner yes/no failed)
####################################################
#   AUTO-CMD-SCRIPT-EXEC SUCCESS! ENTER IN SHELL!  #
####################################################
[ljj@linux-develop ljj]$ exit
Connection to 192.168.1.3 closed.
####################################################
#                      SHELL EXIT!                 #
####################################################
自动登录Linux telnet过程:
linuxtelnet.cfg文件:
["login:",$USERNAME,"Password:",5,normal]
[NULL,$PASSWORD_1,"$",5,normal]
通过telnet登录过程:
[root@linux-develop debug]# ./auto_cmd_tool -t linuxtelnet -l telnet -u ljj -1 ljj 192.168.1.3 -s
####################################################
#   AUTO-CMD-SCRIPT-EXEC SUCCESS! ENTER IN SHELL!  #
####################################################
[ljj@linux-develop ljj]$ exit
logout
Connection closed by foreign host.
####################################################
#                      SHELL EXIT!                 #
####################################################
[root@linux-develop debug]#

debug.tar.gz

31.01 KB, 下载次数: 221

auto_cmd_tool工具,RH9下测试通过,其它32位平台应该也没问题

论坛徽章:
0
2 [报告]
发表于 2009-02-01 11:23 |只看该作者
呵呵,想法不错啊,值得顶一下。

如果网络上的设备一多,就有点麻烦了。

论坛徽章:
0
3 [报告]
发表于 2009-02-03 11:17 |只看该作者
收藏了!!

论坛徽章:
0
4 [报告]
发表于 2009-02-08 17:02 |只看该作者
写得不错。

论坛徽章:
0
5 [报告]
发表于 2009-02-16 01:04 |只看该作者
请各位兄弟多提提宝贵意见,以便于偶进一步完善和加入新的实用功能。

论坛徽章:
0
6 [报告]
发表于 2009-02-23 16:47 |只看该作者
支持!!!Ding

论坛徽章:
0
7 [报告]
发表于 2009-02-23 17:07 |只看该作者
想法不错,
应用方向可以自动更改修订过的配置文件,
比如先从路由器下载现有配置文件,
修订后上传路由器。
write network
.
.
修订后
conf network
write mem

论坛徽章:
0
8 [报告]
发表于 2009-02-24 15:52 |只看该作者
有时间研究下

论坛徽章:
0
9 [报告]
发表于 2009-02-24 16:13 |只看该作者
呵呵,想法不错啊,值得顶一下。

如果网络上的设备一多,就有点麻烦了。

论坛徽章:
0
10 [报告]
发表于 2009-02-24 16:14 |只看该作者
呵呵,想法不错啊,值得顶一下。

如果网络上的设备一多,就有点麻烦了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP