Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

Re: IP in einer IP-Range finden

  Alt 10. Jan 2010, 19:52
Wie thkerkmann geschrieben hat, muss man wohl noch die Bytereihenfolge drehen:
Delphi-Quellcode:
var
  ip, ip_start, ip_end: u_long;
begin
  ip := inet_addr('91.59.58.197');
  // wichtig: prüfen, ob inet_addr() einen Fehler geliefert hat
  if ip = INADDR_NONE then
    raise Exception.CreateFmt('%s ist keine gültige IP', ['91.59.58.197'])
  

  ip_start := inet_addr('91.32.0.0'); //= 8283
  // hier Fehlerprüfung ergänzen

  ip_end := inet_addr('91.63.255.255'); //= -49317
  // hier Fehlerprüfung ergänzen

  // Reihenfolge drehen (big endian -> little endian)
  ip := ntohl(ip);
  ip_start := ntohl(ip_start);
  ip_end := ntohl(ip_end);

  if (ip >= ip_start) and (ip <= ip_end) then
    ShowMessage('bingo') else showMessage('');
end;
fork me on Github
  Mit Zitat antworten Zitat