Questo documento descrive come recuperare informazioni sugli utenti connessi alle linee TTY su un dispositivo Cisco con l'aiuto di SNMP (Simple Network Management Protocol). Questo documento spiega anche tutti i possibili identificatori di oggetto (OID) e come cancellare una determinata riga TTY con SNMP.
Prima di usare le informazioni riportate in questo documento, verificare che siano soddisfatti i seguenti requisiti:
Comprendere come visualizzare le informazioni TTY sui dispositivi Cisco.
Uso generale dei comandi walk, get e set di SNMP.
Comprendere come configurare il protocollo SNMP su un dispositivo Cisco.
Questo documento è relativo ai router e agli switch Cisco con sistema operativo Catalyst (OS) o Catalyst IOS standard che supporta OLD-CISCO-TS-MIB.
Nota: per impostazione predefinita, OLD-CISCO-TS-MIB non viene caricato in NET-SNMP. Se il MIB (Management Information Base) non è caricato nel sistema, è necessario utilizzare l'OID anziché il nome dell'oggetto.
Le informazioni fornite in questo documento si basano sulle versioni software e hardware elencate di seguito:
Router c3640 con versione 12.2(13a)
NET-SNMP versione 5.0.6 disponibile all'indirizzo http://www.net-snmp.org/
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
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 }
I valori riportati nell'esempio sono i seguenti:
Nome host dispositivo = ponch
Community di lettura = public
Write community = privato
Sostituire le stringhe della community e il nome host in questi comandi.
Per trovare il numero disponibile di righe TTY (che include quelle virtuali), eseguire una query sull'oggetto tsLines:
snmpwalk -c public ponch tsLines cisco.local.lts.tsLines.0 : INTEGER: 135
Per elencare le righe TTY attive, eseguire una query sull'oggetto tsLineActive. Le righe TTY attive restituiscono 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 …
Verificare questa condizione con il comando show users sull'interfaccia della riga di comando (CLI) del router:
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
Per ottenere il tipo di linea, eseguire una query sull'oggetto tsLineType. In questo esempio viene mostrato come è connesso l'utente:
sconosciuto(1)
console(2)
terminale(3)
stampante di linea(4)
ausiliario(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 …
Per determinare se la linea temporale è stata attiva, eseguire una query sull'oggetto tsLineTimeActive. Questo è il tempo in secondi dall'attivazione della linea:
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 …
Per vedere chi è collegato a un TTY, è necessario essere connessi al dispositivo tramite TACACS. Eseguire una query sull'oggetto tsLineUser per trovare il nome utente:
Nota: Se NON si è connessi tramite TACACS, tsLineUser è vuoto.
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 …
Confrontare questo output di esempio con il comando show users output:
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
È possibile cancellare una sessione telnet (VTY) con SNMP. Il comando SNMP è l'equivalente del comando clear line vty<number>. L'oggetto utilizzato per cancellare una linea è tsClrTtyLine.
Utilizzare SNMP per cancellare la riga VTY 132 con questi comandi:
snmpset -c private ponch tsClrTtyLine.0 integer 132 cisco.local.lts.tcClrTtyLine.0 : INTEGER: 132
o
snmpset -c private ponch .1.3.6.1.4.1.9.2.9.10.0 integer 132 enterprises.9.2.9.10.0 = 132
Per controllare questo sul router prima di cancellare la riga 132, usare questo comando sulla 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
Controllare il router dopo aver usato questo comando, per verificare che la riga 132 sia stata cancellata:
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
La riga 132 è stata cancellata.
Nota: Utilizzare questo comando con cautela perché può disconnettere un utente dal dispositivo senza preavviso.