识别RADIUS服务器中的数据包内容

时间:2018-06-18 15:39:52

标签: java rfc radius

我收到了一项任务,我必须在Java中实现RADIUS服务器以识别连接客户端。根据{{​​3}},数据包具有代码字段,id,长度等等。第一个八位字节是代码字段,显示数据包是Access-Request,Accept-Rejected还是其他任何东西。 当客户端使用UDP中的PAP连接到我的服务器时,字符串中的数据包格式等于é .Åxv—”ÜÁö8ÙúJô´user1šåë×çk^!ú)

如何识别数据包中的代码,ID和其他属性,以便在我的服务器中接受或拒绝该请求?

我的服务器代码:

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class Server {

    public static void main(String args[]) {

        Server server = new Server();
        server.runServer();
    }

    public void runServer() {

        DatagramSocket serverSocket = null;

        try {

            serverSocket = new DatagramSocket(1815);

            byte[] buffer = new byte[10000];

            while(true) {

                DatagramPacket recievePacket = new DatagramPacket(buffer, buffer.length);
                serverSocket.receive(recievePacket);
                String messageArr = new String(buffer, 0, recievePacket.getLength());

                System.out.println(messageArr);

            }

        }catch(Exception e) {
            System.out.println("Error: "+e.getMessage());
        }

        if(serverSocket != null) {

            serverSocket.close();{

            }

        }
    }

}

在cmd中运行客户端: java -cp radiusclient.jar ... packet.Main“host”“UDP port”“SharedSecret”

0 个答案:

没有答案