本文說明如何藉助簡單網路管理協定(SNMP)檢索思科裝置上連線到TTY線路的使用者資訊。 本文檔還說明了所有可能的對象識別符號(OID)以及如何使用SNMP清除特定TTY線路。
使用本文件中的資訊之前,請確保符合以下要求:
瞭解如何檢視Cisco裝置上的TTY資訊。
SNMP walk、get和set命令的一般用法。
瞭解如何在Cisco裝置上配置SNMP。
本檔案適用於執行支援OLD-CISCO-TS-MIB的常規Catalyst作業系統(OS)或Catalyst IOS的Cisco路由器和交換器。
註:NET-SNMP中預設不載入OLD-CISCO-TS-MIB。如果系統中未載入管理資訊庫(MIB),則必須使用OID而不是對象名稱。
本檔案中的資訊是根據以下列出的軟體和硬體版本:
執行12.2(13a)的路由器c3640
NET-SNMP版本5.0.6,網址為http://www.net-snmp.org/
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
1.3.6.1.4.1.9.2.9.1 (OLD-CISCO-TS-MIB) tsLines OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Number of terminal lines on this device. Includes virtual lines." ::= { lts 1 } 1.3.6.1.4.1.9.2.9.2.1.1 (OLD-CISCO-TS-MIB) tsLineActive OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Boolean whether this line is active or not." ::= { ltsLineEntry 1 } 1.3.6.1.4.1.9.2.9.2.1.2 (OLD-CISCO-TS-MIB) tsLineType OBJECT-TYPE SYNTAX INTEGER { unknown(1), console(2), terminal(3), line-printer(4), virtual-terminal(5), auxiliary(6) } ACCESS read-only STATUS mandatory DESCRIPTION "Type of line." ::= { ltsLineEntry 2 } 1.3.6.1.4.1.9.2.9.2.1.21 (OLD-CISCO-TS-MIB) tsLineTimeActive OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The time in seconds since line was activated." ::= { ltsLineEntry 21 } 1.3.6.1.4.1.9.2.9.2.1.18 (OLD-CISCO-TS-MIB) tsLineUser OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "TACACS user name,if TACACS is enabled, of user on this line." ::= { ltsLineEntry 18 } 1.3.6.1.4.1.9.2.9.4 (OLD-CISCO-TS-MIB) tsMsgTtyLine OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "tty line to send the message to. -1 sends the messages to all tty lines." ::= { lts 4 } 1.3.6.1.4.1.9.2.9.10 (OLD-CISCO-TS-MIB) tsClrTtyLine OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "tty line to clear. Read returns the last line cleared. A value of -1 indicates no lines have been cleared." ::= { lts 10 }
示例中的值如下:
裝置主機名= ponch
讀取社群=公共
寫入社群=專用
在這些命令中替換社群字串和主機名。
要查詢可用的TTY線路數(包括虛擬線路),請查詢對象tsLines:
snmpwalk -c public ponch tsLines cisco.local.lts.tsLines.0 : INTEGER: 135
要列出活動的TTY行,請查詢tsLineActive對象。活動的TTY線路返回1:
snmpwalk -c public ponch tsLineActive cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineActive.0 : INTEGER: 1 cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineActive.129 : INTEGER: 0 cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineActive.130 : INTEGER: 1 …
在路由器的命令列介面(CLI)上使用show users命令驗證這一點:
ponch#sh users Line User Host(s) Idle Location 0 con 0 idle 15:32:49 *130 vty 0 idle 00:00:00 10.61.64.9 Interface User Mode Idle Peer Address
要獲取行的型別,請查詢tsLineType對象。這顯示使用者如何連線:
unknown(1)
控制檯(2)
終端(3)
線上印表機(4)
輔助(6)
snmpwalk -c public ponch tsLineType cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineType.0 : INTEGER: console cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineType.129 : INTEGER: auxiliary cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineType.130 : INTEGER: virtual-terminal …
要確定時間行是否處於活動狀態,請查詢tsLineTimeActive對象。這是自線路啟用以來經過的時間(秒):
snmpwalk -c public ponch tsLineTimeActive cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineTimeActive.0 : INTEGER: 172351 cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineTimeActive.129 : INTEGER: 0 cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineTimeActive.130 : INTEGER: 9069 …
要檢視誰連線到TTY,您必須通過TACACS連線到裝置。查詢tsLineUser對象以查詢使用者名稱:
附註: 如果沒有通過TACACS連線,則tsLineUser為空!
snmpwalk -c public ponch tsLineUser cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineUser.0 : DISPLAY STRING- (ascii): cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineUser.129 : DISPLAY STRING- (ascii): cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineUser.131 : DISPLAY STRING- (ascii): cisco …
將此示例輸出與CLI命令show users輸出進行比較:
ponch#sh users Line User Host(s) Idle Location 0 con 0 idle 15:32:49 *131 vty 0 cisco idle 00:00:00 10.61.64.11 Interface User Mode Idle Peer Address
您可以使用SNMP清除telnet(VTY)作業階段。SNMP命令與clear line vty <number>命令等效。用於清除行的對象是tsClrTtyLine。
使用以下命令使用SNMP清除VTY線路132:
snmpset -c private ponch tsClrTtyLine.0 integer 132 cisco.local.lts.tcClrTtyLine.0 : INTEGER: 132
或
snmpset -c private ponch .1.3.6.1.4.1.9.2.9.10.0 integer 132 enterprises.9.2.9.10.0 = 132
若要在清除線路132之前在路由器上檢查此項,請在CLI上發出以下命令:
ponch#show users Line User Host(s) Idle Location 0 con 0 idle 05:23:17 130 vty 0 idle 1d03h 144.254.7.118 131 vty 1 idle 1d01h 144.254.7.118 132 vty 2 idle 00:04:36 144.254.8.54 *133 vty 3 idle 00:00:00 144.254.7.53 Interface User Mode Idle Peer Address
發出此命令後,檢查路由器,確保第132行已清除:
ponch#show users Line User Host(s) Idle Location 0 con 0 idle 05:26:42 130 vty 0 idle 1d03h 144.254.7.118 131 vty 1 idle 1d01h 144.254.7.118 *133 vty 3 idle 00:00:00 144.254.7.53 Interface User Mode Idle Peer Address
現在已清除線路132。
附註: 請謹慎發出此命令,因為它可以在沒有警告的情況下將使用者從裝置斷開!