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

📄 ip-down

📁 一个radius的客户端程序
💻
字号:
#!/usr/bin/perl## ip-down# # Script started when the PPP daemon disconnects.#use strict;use GDBM_File;#### RADIUS Beginsmy ($sessionid, $username, $port, $portid, $timeout) = split (/:/, $ARGV[5]);if ($sessionid) {# Code to inform the server that we're getting out.# Port information database.    my $path_portinfo = "/var/ipoint/acct/portinfo"; # Radius accounting record generator.    my $prog_radacct = "/usr/local/lib/radiusclient/radacct";# The session ID, username, raw port and ID are given to this script # through the ipparam parameter of pppd 2.2.0e and above.# Generate the accounting entry, and hand it over to RADIUS.# Delete the port info entry since the user has logged off, but make use# of the starting time.    my (%s, @e, $sessiontime);    tie (%s, "GDBM_File", $path_portinfo, GDBM_WRCREAT, 0600);    @e = split (':', $s{$portid});    if ($e[4])    {	$sessiontime = time() - $e[4];    }    delete $s{$portid};    untie (%s);# Generate the accounting entry, and hand it over to RADIUS.    open  (H, "| $prog_radacct -i $port");    my $cmd =	"Acct-Session-ID = \"$sessionid\"\n" .	"User-Name = \"$username\"\n" .	"Acct-Status-Type = Stop\n" .	"Acct-Authentic = RADIUS\n" .	"Service-Type = Framed\n" .	"Framed-Protocol = PPP\n" .	"Framed-IP-Address = $ARGV[4]\n";    if ($sessiontime)    {	$cmd .= "Acct-Session-Time = $sessiontime\n";    }    print H $cmd;    close (H);}#### RADIUS Ends

⌨️ 快捷键说明

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