Radius'la ilgili bir çalışma yapmak istiyorum ama döküman sıkıntısı yaşadığım için fazla bir yol katedemedim.
Elimde Mikrotik RB333 bir cihaz var. Bu cihazın radius ayarlarını yapıp delphi XE4 tarafında UDPServer ile 1812 portunu dinleyerek cihazın gönderdiği hex verilerine ulaşabiliyorum. Gelen verinin uzunluğu değişiyor.
Gelen veriyi resimde gördüğümüz gibi
AVP: l=6 t=NAS-Port-Type(61): Wireless-802.11(19)
AVP: l=19 t=Calling-Station-Id(31): 12:34:56:A2
AVP: l=10 t=Called-Station-Id(30): hotspot1
AVP: l=7 t=NAS-Port-Id(87): wlan1
AVP: l=8 t=User-Name(1): APEX06
AVP: l=6 t=NAS-Port(5): 2152726534
AVP: l=10 t=Acct-Session-Id(44): 80500006
AVP: l=6 t=Framed-IP-Address(8): 10.0.1.247
AVP: l=12 t=Vendor-Specific(26) v=MikroTik(14988)
AVP: l=18 t=CHAP-Challenge(60): 1ac84b06bdef36b96f2928d15236518a
AVP: l=19 t=CHAP-Password(3): 7f64ad7cbc4a1fa22f445c56f211e30827
AVP: l=6 t=Service-Type(6): Login(1)
AVP: l=30 t=Vendor-Specific(26) v=Wireless Broadband Alliance Ltd (previous was 'Wi-Fi Alliance')(14122)
AVP: l=8 t=NAS-Identifier(32): merkez
AVP: l=6 t=NAS-IP-Address(4): 192.168.1.100
gruplayarak verileri ayrıştırıp gerekli verileri cihaza tekrar göndermem gerekiyor. Tabi verileri alma işini tam olarak çözemediğim için gönderme işi ayrı bir serüven gibi geliyor bana.
Delphi tarafında yaptığım kısım;
Kod: Tümünü seç
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
begin
Memo1.Text:=ToHex(AData, length(AData)); // gelen datayı hex olarak görebiliyorum
end;