⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showmodem

📁 使用最广泛的radius的linux的源码
💻
字号:
#!/usr/bin/perl## This works with Net-SNMP and UCD-SNMP$host=shift;$user=shift;$comm=shift || "public";$type=shift|| "xml";$conf='/usr/local/dialup_admin/conf/admin.conf';open CONF, "<$conf"	or die "Could not open configuration file\n";while(<CONF>){	chomp;	($key,$val)=(split /:\s*/,$_);	$snmp_type = $val if ($key eq 'general_snmp_type');	$snmpget = $val if ($key eq 'general_snmpget_command');	$snmpwalk = $val if ($key eq 'general_snmpwalk_command');}close CONF;die "general_snmp_type directive is not set in admin.conf\n" if ($snmp_type eq '');die "Could not find snmpwalk binary. Please make sure that the \$snmpwalk variable points to the right location\n" if (! -x $snmpwalk);if ($snmp_type = 'ucd') {	$snmpgetcmd="$snmpget $host $comm";	$snmpwalkcmd="$snmpwalk $host $comm";}if ($snmp_type = 'net') {	$snmpgetcmd="$snmpget -v 1 -c $comm $host";	$snmpwalkcmd="$snmpwalk -v 1 -c $comm $host";}#DEBUG#print "$snmpwalkcmd\n"; print "$snmpgetcmd\n";@ModulationScheme = (	"error",	"unknown",	"bell103a",	"bell212a",	"v21",	"v22",	"v22bis",	"v32",	"v32bis",	"vfc",	"v34",	"v17",	"v29",	"v33",	"k56flex",	"v23",	"v32terbo",	"v34plus",	"v90",	"v27ter",);@Protocol = (	"error",	"normal",	"direct",	"reliableMNP",	"reliableLAPM",	"syncMode",	"asyncMode",	"ara10",	"ara20",	"unknown",);#DEBUG#print "$snmpwalkcmd enterprises.9.2.9.2.1.18 | grep $user\n";$modem=`$snmpwalkcmd enterprises.9.2.9.2.1.18 | grep $user`;if($modem=~/enterprises\.9\.2\.9\.2\.1\.18\.(\d+) =/){  $modem=$1;  $slot=(1+int($modem/120));  $port=$modem%120-1;  $modem="$slot.$port";#DEBUG#print "$snmpgetcmd enterprises.9.9.47.1.3.1.1.9.$modem\n";  $duration=`$snmpgetcmd enterprises.9.9.47.1.3.1.1.9.$modem` or die "No MIB\n";  $duration=~/\) (.*)\./;  $duration=$1;#DEBUG#print "$snmpgetcmd enterprises.9.9.47.1.3.1.1.12.$modem\n";  $modulation=`$snmpgetcmd enterprises.9.9.47.1.3.1.1.12.$modem` or die "No MIB\n";  $modulation=~/ \= (\d+)/;  $modulation=$ModulationScheme[$1];#DEBUG#print "$snmpgetcmd enterprises.9.9.47.1.3.1.1.13.$modem\n";  $protocol=`$snmpgetcmd enterprises.9.9.47.1.3.1.1.13.$modem` or die "No MIB\n";  $protocol=~/ \= (\d+)/;  $protocol=$Protocol[$1];#DEBUG#print "$snmpgetcmd enterprises.9.9.47.1.3.1.1.14.$modem\n";  $txrate=`$snmpgetcmd enterprises.9.9.47.1.3.1.1.14.$modem` or die "No MIB\n";  $txrate=~/Gauge32\: (\d+)/;  $txrate=$1;#DEBUG#print "$snmpgetcmd enterprises.9.9.47.1.3.1.1.15.$modem\n";  $rxrate=`$snmpgetcmd enterprises.9.9.47.1.3.1.1.15.$modem` or die "No MIB\n";  $rxrate=~/Gauge32\: (\d+)/;  $rxrate=$1;#DEBUG#print "$snmpgetcmd enterprises.9.9.47.1.3.1.1.17.$modem\n";  $rxsignal=`$snmpgetcmd enterprises.9.9.47.1.3.1.1.17.$modem` or die "No MIB\n";#  $rxsignal=~ s/INTEGER\://;  $rxsignal=~/ \= (.*)\n/;  $rxsignal=$1;  if($type eq "xml"){    print "<User>$user</User>\n";    print "\t<Duration>$duration</Duration>\n";    print "\t<Modulation>$modulation</Modulation>\n";    print "\t<Protocol>$protocol</Protocol>\n";    print "\t<TxRate>$txrate</TxRate>\n";    print "\t<RxRate>$rxrate</RxRate>\n";    print "\t<RxSignal>$rxsignal dBm</RxSignal>\n\n";  }else{    printf("%14s\t%s\n","User",$user);    printf("%14s\t%s\n","Duration",$duration);    printf("%14s\t%s\n","Modulation",$modulation);    printf("%14s\t%s\n","Protocol",$protocol);    printf("%14s\t%s\n","TxRate",$txrate);    printf("%14s\t%s\n","RxRate",$rxrate);    printf("%14s\t%s dBm\n\n","RxSignal",$rxsignal);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -