Finden Sie das Standard-gateway-ip-Adresse statt analysieren proc-Dateisystem
Wie soll ich das beziehen der ip-Adresse des Standard-gateway ? Statt Lesen Einträge aus /proc , gibt es eine standalone-API nutzbar ?
- Sie können dies tun, mit libiproute2
- Ich würde dringend empfehlen, nur mit
/proc
. Es ist die bevorzugte Methode, die andere Methoden verlangen einen privilegierten Zugang. - In der Theorie, es könnte eine Reihe von symmetrisch konfigurierten Schnittstellen zur Erhöhung der Kapazität und/oder Redundanz.
- /proc/net/route ist eine Wette, aber viel besser ist die Verwendung von Beispiel-code von hier: linuxquestions.org/questions/linux-networking-3/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie libnl was ist eine Bibliothek zum kommunizieren mit dem kernel über NETLINK sockets.
ein einfaches Beispiel, um die Standard-route wäre (bitte fügen Sie die Fehlerüberprüfung und die benötigten Header)
nl_socket_alloc()
stattnl_handle_alloc()
. Was ist die analouge zurtnl_route_get_gatewa
y in libnl3?Einen trick, wäre die Verwendung von sockets-api, um zu versuchen, eine Verbindung zu einer ip nicht erreichbar. Die Antwort "destination unreachable" kommen würde, von Ihrem Standard-gateway.