Cisco IOS上でピンポンゲームが出来るということで試してみた。
Cisco Support Communityにピンポンゲームが出来るEEMスクリプトが紹介されていました。
Good old PONG now runs on IOS as a TCL script.
via:PONG on IOS | EEM Scripting | Cisco Support Community | 5941 | 12359826
EEM(Embedded Event Manager)とは、Ciscoが扱っている各OS(IOS、IOS XR、IOS XE、NX-OS)に搭載された運用管理機能の1つです。
事前にイベントとアクションを設定し、イベントを検出すると、設定しておいたアクションを実行してくれます。
EEM (Embedded Event Manager)
早速試してみた
実機を用意するのが面倒だったので、GNS3上のIOSで動作させてみました。
IOSバージョン
c7200-ipbase-mz.151-4.M5.bin
事前準備
下記サイトから「iospong.tcl_.zip」をダウンロードして解凍します。
PONG on IOS | EEM Scripting | Cisco Support Community | 5941 | 12359826
tclファイルを保存する「disk0:」をフォーマットします。
R1#format disk0:
Format operation may take a while. Continue? [confirm]
Format operation will destroy all data in "disk0:". Continue? [confirm]
Writing Monlib sectors....
Monlib write complete
Format: All system sectors written. OK...
Format: Total sectors in formatted partition: 2016
Format: Total bytes in formatted partition: 1032192
Format: Operation completed successfully.
Format of disk0: complete
R1#
TFTP等でtclファイルを転送しても良いのですが、ホストOSとの接続が面倒だったので、IOS上で直接TCLファイルを作成しました。
「tclsh」コマンドでTclシェルモードを起動させます。
R1#
R1#tclsh
R1(tcl)#
Tclシェルモードから抜ける場合は、「tclquit」コマンドで抜けることができます。
Tclシェルモード上でスクリプトを作成するには、「puts [open “disk0:ファイル名” w+]」とすることで作成し、保存することが可能です。
puts [open "disk0:iospong.tcl” w+] {
ここに、iospong.tclファイルの中身をコピペ
}
TCLの実行
それではtclを実行してみます。
R1#tclsh disk0:iospong.tcl
実行してみると分かりますが、残念ながら操作は全く出来ずに見ているだけですが、ネタとしては面白いですね-。