Tcl 测试实例 - Ryan--Yang/Auto-Verify-System GitHub Wiki
T cl telnet 测试实例
(一) 路由器、交换机 telnet 配置
路由器 配置如下:
(1) 步骤1:配置路由器以太网接口IP 地址
Router>enable
Router#
//以上是进入路由器的特权模式
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router (config)#
//以上是进入路由器的配置模式
Router (config)#interface g0/0
Router (config-if)#
//以上是进入路由器的以太网口g0/0 接口,g0/0 中g 表示是GigabitEthernet, 0/0 表示
是第0 个插槽中的第0 个接口。S0/0/0 则表示为第0 个插槽中的第0 个模块上的第0 个串
行接口。
Router (config-if)#ip address 172.16.0.2 255.255.0.0
//以上是配置接口的IP 地址
Router (config-if)#no shutdown
//以上是打开接口,默认时路由器的所有接口都是关闭的,这一点和交换机有很大差别
Router (config-if)#end
//退出配置模式
(2) 步骤2:配置路由器密码
Router#conf terminal
Router(config)#line vty 0 4
//以上是进入路由器的VTY 虚拟终端下,“vty 0 4”表示vty 0 到vty 4,共5 个虚拟终端
Router(config-line)#password CISCO
Router(config-line)#login
//以上是配置vty 的密码,即telnet 密码
Router(config-line)#exit
Router(config)#enable password CISCO
//以上是配置进入到路由器特权模式的密码
Router(config)#end
(3) 步骤3:通过telnet 访问路由器
在计算机上配置网卡的IP 地址为172.16.0.100/255.255.0.0,并打开DOS 命令行窗口。
首先测试计算机和路由器的IP 连通性,再进行telnet 远程登录。如下:
C:>ping 172.16.0.1
Pinging 172.16.0.1 with 32 bytes of data:
Reply from 172.16.0.1: bytes=32 time<1ms TTL=255
Reply from 172.16.0.1: bytes=32 time<1ms TTL=255
Reply from 172.16.0.1: bytes=32 time<1ms TTL=255
Reply from 172.16.0.1: bytes=32 time<1ms TTL=255
Ping statistics for 172.16.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% lo
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
//以上表明计算机能ping 通路由器
C:>telnet 172.16.0.1
//telnet 路由器以太网卡上的IP 地址
User Access Verification
Password:
Router>enable
Password:
Router#exit
//输入vty 的密码CISCO、输入enable 的密码CISCO,能正常进入路由器的特权模式。
- 实验调试
如果无法从计算机上ping 通路由器,依照以下步骤进行
(1) 检查计算机、交换机、路由器之间的连接是否松动;
(2) 检查连接线应该是否是直通线;
(3) 检查计算机的网卡和IP 地址是否正常;
(4) 在路由器上,检查以太网接口是否正常
交换机配置:
交换机没有接口意义上的ip配置,因此交换机的telnet是通过vlan连接的,即配置交换 机上vlan的telnet账户密码,然后将电脑连接到对应vlan下的交换机以太口上就可以通 过telnet连接了
具体步骤如下
(1) 步骤1:配置交换机以太网接口IP 地址
Switch>enable
Switch#
//以上是进入交换机的特权模式
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch (config)#
//以上是进入交换机的配置模式
Switch (config)#int vlan1
Switch (config-if)#
//以上是配置交换机中vlan的telnet设置,我们这里默认设置vlan1
Switch (config-if)#ip address 172.16.0.3 255.255.0.0
//以上是配置接口的IP 地址
Switch (config-if)#no shutdown
//以上是打开接口,默认时交换机的所有接口都是关闭的,这一点和交换机有很大差别
Switch (config-if)#end
//退出配置模式
(2) 步骤2:配置交换机密码
Switch#conf terminal
Switch(config)#line vty 0 4
//以上是进入交换机的VTY 虚拟终端下,“vty 0 4”表示vty 0 到vty 4,共5 个虚拟终端
Switch(config-line)#password CISCO
Switch(config-line)#login
//以上是配置vty 的密码,即telnet 密码
Switch(config-line)#exit
Switch(config)#enable password CISCO
//以上是配置进入到交换机特权模式的密码
Switch(config)#end
(3) 步骤3:通过telnet 访问交换机
在计算机上配置网卡的IP 地址为172.16.0.200/255.255.0.0,并打开DOS 命令行窗口。
首先测试计算机和交换机的IP 连通性,再进行telnet 远程登录。如下:
C:>ping 172.16.0.1
Pinging 172.16.0.1 with 32 bytes of data:
Reply from 172.16.0.1: bytes=32 time<1ms TTL=255
Reply from 172.16.0.1: bytes=32 time<1ms TTL=255
Reply from 172.16.0.1: bytes=32 time<1ms TTL=255
Reply from 172.16.0.1: bytes=32 time<1ms TTL=255
Ping statistics for 172.16.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% lo
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
//以上表明计算机能ping 通交换机
C:>telnet 172.16.0.1
//telnet 交换机以太网卡上的IP 地址
User Access Verification
Password:
Switch>enable
Password:
Switch#exit
//输入vty 的密码CISCO、输入enable 的密码CISCO,能正常进入交换机的特权模式。
(二) Win7 下telnet配置
1 、在 win7 下,进入控制面板
程序
打开或关闭 Windows 功能,选择打开 telnet 服务。
2 、然后在 cmd 中,输入 Telnet 命令成功即代表安装成功
3 、由于系统在默认情况下对 telnet 是屏蔽的,所以要先打开 telnet 服务
4 、在 [ 运行 ] 中输入 "services.msc" ,确定后出现 [ 服务管理器 ] ;
或者在 [ 控制面板 ] 里进入 [ 管理工具 ] ,运行 [ 服务 ] 就会出现 [ 服务管理器 ] ;
5 、在 [ 服务管理器 ] 中找到 [Telnet] 项,按键盘的 "t"
"e"
"l" 键很快就能找着;
6 、在双击后出现的 [ 属性对话框 ] 中 [ 启动类型 ] 改为 [ 自动 ] 或 [ 手动 ] ;
7 、启动 Telnet 服务
在 [ 属性对话框 ] 中的 [ 服务状态 ] 项中点击 [ 启动 ] ;
在 [ 运行 ] 中输入 "cmd" ,确定后在光标提示符输入 "net start telnet" 回车,当屏幕显示 "Telnet 服务正在启动 ...Telnet 服务已经启动成功。 " 后,说明 Telnet 服务已经在你本机启动 了。
8 、注意登录的账户和密码是你的 windows xp 的用户名和密码哦,要在 [ 控制面板 ] 的 [ 用 户账户 ] 中设置一下;
9 、有些电脑的杀毒软件会设置防火墙屏蔽 Telnet 的访问,因此还需要注意防火墙的设 置
(三) windows 下 tcl 设置
根据第一步将路由器和交换机设置好后,并且在控制台下能够正常 telnet 上。此处使用 的 tcl 控制台为 ActiveTcl ,由于我们要使用到交互式命令 telnet ,所以需要 expect 的支持。
步骤如下
1 、 Expect 需要 Tcl 支持,要在 Windows 上运行 Expect 必须首先安装 Tcl 。可以安装 ActiveState ActiveTcl ;
2 、安装对 Expect 的支持: path
to
activetcl
teacup.exe install Expect
;
3、 在 Expect 脚本中加一行: package require Expect 。
( 四 ) linux 下 tcl 设置
需要两个安装程序 tcl8.4.13
src.tar.gz 、 expect
http://download.chinaunix.net/ 1. 安装 tcl 和 expect 解压 tcl 包: tar zxvf tcl8.4.11
5.43.0.tar.gz 下载地址:src.tar.gz 进入: tcl8.4.11/unix 执行 1 : ./configure 执行 2 : make 执行 3 : make install 拷贝: cp tclUnixPort.h ../generic/ 解压 expect 包: tar zxvf tar zxvf expect
5.43.0.tar.gz 进入: cd expect
5.43/ 执行 1 : ./configure
with
tcl=/usr/local/lib/
with
tclinclude= \ /home/nagios/tcl8.4.11/generic/
with
x=no 执行 2 : make 执行 3 : make install 注意: tclinclude =/tcl 源代码路径 /generi c 查看安装路径 whereis tcl
whereis expec t
( 五 ) Tcl telnet 测试实例
#!/usr/bin/expect
加载 tcl 脚本时要先加载 Expect 扩展包,否则无法使用 send 、 expect 命令。
package require Expect
设置全局变量保 存会话返回信息
global expect_out buffer
set buffer ""
set expect_out(buffer) ""
向 路由器或者交换机 请求打开一个 telnet 会话,并等待服务器询问用户名
spawn telnet 127.0.0.1
expect " assword:"
输入密码,并等待键入需要运行的命令
send "
cisco
r"
expect "%"
发出显示接口信息命令
send "
show
int
r"
expect "%"
将运行结果存入到变量中,显示出来或者写到磁盘中
set results $expect_out(buffer)
退出 telnet 会话,等待服务器的退出提示 EOF
send "exit
r"
expect eof