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,能正常进入路由器的特权模式。

  1. 实验调试

如果无法从计算机上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

5.43.0.tar.gz 下载地址: http://download.chinaunix.net/ 1. 安装 tcl 和 expect 解压 tcl 包: tar zxvf tcl8.4.11

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