This is a very useful perl script that i created to know how many user are logged in on FreeRadius from the UNIX/Linux shell or command line.
It’s for FreeRadius with MySQL and I think it is usefull for other radiuses as well.
Below is the full code.
#!/usr/bin/perl -w
use DBI;
my $db = 'radius';
my $db_host = 'localhost';
my $db_username = 'username';
my $db_password = 'password';
my $dbh = DBI->connect("dbi:mysql:database=$db;host=$db_host:port number;user=$db_username;password=$db_password") or die "Couldn't connect to database: $DBI::errstr\n";
my $sql = qq{SELECT DISTINCT UserName,AcctStartTime,FramedIPAddress,CallingStationId FROM radacct WHERE AcctStopTime = '0000-00-00 00:00:00' AND NASIPAddress = '192.168.254.2' GROUP BY UserName};
$sth = $dbh->prepare($sql) or die "Couldn't prepare query '$sql': $DBI::errstr\n";
$sth->execute() or die "Couldn't execute query '$sql': $DBI::errstr\n";
print $sth->rows();
$sth->finish();
$dbh->disconnect();
exit;
Note:
change the username and password to actual username and password of a MySQL database, and NASIPAddress.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment