📄 clearsession
字号:
#!/usr/bin/perl$login = 'nas-login';$passwd = 'nas-password';$host=shift || '';$type = shift || 'snmp';$nastype = shift || 'cisco';$username=shift || '';$sessionid = shift || '';$port = 0;$comm = '';if ($type eq 'snmp'){$comm = shift || 'public';}if ($type eq 'telnet'){$port = shift || 0;}die "No \$host argument given\n" if ($host eq '');die "No \$username argument given\n" if ($username eq '');if ($nastype eq 'cisco' && $type eq 'telnet'){ die "Usage: clearsession \$host telnet cisco \$username \$sessionid \$port\n" if ($port == 0); if (eval require Net::Telnet::Cisco){ Net::Telnet::Cisco->import(); my $session = Net::Telnet::Cisco->new(Host => $host); $session->login($login, $passwd); if ($port >= 20000){ my @output = $session->cmd("sh caller user $username"); foreach $line (@output){ if ($line =~ /User: $username, line (Vi\d+),/){ $session->cmd("clear interface $1"); } } } else{ $session->cmd("clear line $port\n"); } $session->close; }}if ($nastype eq 'cisco' && $type eq 'snmp'){ $SNMPGET="/usr/local/bin/snmpget"; $SNMPSET="/usr/local/bin/snmpset"; die "Could not find snmpwalk binary. Please make sure that the \$SNMPGET variable points to the right location\n" if (! -x $SNMPGET); die "Could not find snmpset binary. Please make sure that the \$SNMPSET variable points to the right location\n" if (! -x $SNMPSET); die "Usage: clearsession \$host snmp \$username cisco \$sessionid \$community\n" if ($sessionid eq '' || $comm eq ''); if ($sessionid ne '' && $username ne ''){ print "$SNMPGET -v2c -c $comm $host .iso.org.dod.internet.private.enterprises.9.9.150.1.1.3.1.2.$sessionid\n"; $walk =`$SNMPGET -v2c -c $comm $host .iso.org.dod.internet.private.enterprises.9.9.150.1.1.3.1.2.$sessionid`; unless ($walk =~ /^$/){ if ($walk =~ /$username/){ print "FOUND: $username\n"; `$SNMPSET -v2c -c $comm $host .iso.org.dod.internet.private.enterprises.9.9.150.1.1.3.1.5.$sessionid i 1`; } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -