IP-Adresse eines Interfaces auflösen



  • hi,

    ich hab mir über die Funktion ioctl() und den Flags SIOCGIFNETMASK bzw. SIOCGIFADDR ein Programm geschrieben das für einen gegebenen Interfacenamen (z.B. "eth0") die IP-Adressen auflöst bzw. ermittelt.

    Soweit so gut, funktioniert auch prächtig. Nur wenn ich ein Interface angebe das es im System definitiv nicht gibt (z.B. "blabla") wird das ganze irgendwie auf die IP: 159.160.0.0 aufgelöst.

    Was passiert da? die Funkion schlägt leider nicht wie erwartet fehl. D.h. die Fehlererkennung ist schwer.

    Woran kann ich erkennen ob das was in die Hose gegangen ist. Oder woher kommt die IP 159.160.0.0, die wird mir für jeden unsinnigen name geliefert den ich eingebe.



  • ioctl müsste bei Fehlern -1 zurückgeben. Wie hast du sie den implementiert, bzw. wie fragst du denn Fehler ab?


Anmelden zum Antworten