#!/usr/bin/env python3 import socket import sys from os import path import pyrad.packet from pyrad.client import Client from pyrad.dictionary import Dictionary def main(path_to_dictionary): srv = Client( server="localhost", authport=18121, secret=b"test", dict=Dictionary(path_to_dictionary), ) req = srv.CreateAuthPacket( code=pyrad.packet.StatusServer, FreeRADIUS_Statistics_Type="All", ) req.add_message_authenticator() try: print("Sending FreeRADIUS status request") reply = srv.SendPacket(req) except pyrad.client.Timeout: print("RADIUS server does not reply") sys.exit(1) except socket.error as error: print("Network error: " + error[1]) sys.exit(1) print("Attributes returned by server:") for key, value in reply.items(): print(f"{key}: {value}") if __name__ == "__main__": dictionary = path.join(path.dirname(path.abspath(__file__)), "dictionary") main(dictionary)