#!/usr/bin/env python3 import sys from os import path import pyrad.packet from pyrad.client import Client from pyrad.dictionary import Dictionary def main(path_to_dictionary, coa_type, nas_identifier): # create coa client client = Client( server="127.0.0.1", secret=b"Kah3choteereethiejeimaeziecumi", dict=Dictionary(path_to_dictionary), ) # set coa timeout client.timeout = 30 # create coa request packet attributes = { "Acct-Session-Id": "1337", "NAS-Identifier": nas_identifier, } if coa_type == "coa": # create coa request request = client.CreateCoAPacket(**attributes) elif coa_type == "dis": # create disconnect request request = client.CreateCoAPacket( code=pyrad.packet.DisconnectRequest, **attributes ) else: sys.exit(1) # send request result = client.SendPacket(request) print(result) print(result.code) if __name__ == "__main__": if len(sys.argv) != 3: print("usage: coa.py {coa|dis} daemon-1234") sys.exit(1) dictionary = path.join(path.dirname(path.abspath(__file__)), "dictionary") main(dictionary, sys.argv[1], sys.argv[2])