Frage

Ist es sicher anzunehmen, dass der Loopback-Netzwerkadapter auf einem Linux-System wird immer ‚lo‘ genannt wird - ist dies nur eine Namenskonvention, die möglicherweise nicht eingehalten, oder muss es immer der Fall sein?

War es hilfreich?

Lösung

Ich weiß nicht, von jedem Linux-System, das eine Loopback-Schnittstelle etwas anderes als lo hat. Ich würde auf dieser Namenskonvention verlassen, wenn ich eine systemspezifische Skript schreiben, aber nicht, wenn ein portables Programm zu schreiben. Zum Beispiel Loopback in OSX ist lo0.

Eine zuverlässige Art und Weise in C eine SIOCGIFCONF ioctl auf einem Sockel ruft, über die Schnittstellen laufen, auf jeder SIOCGIFFLAGS ioctl Aufruf und Kontrolle, welche Schnittstellen ein IFF_LOOPBACK-Flag gesetzt haben (siehe /usr/include/linux/if.h).

SIOCGIFCONF geben Sie auch die Namen verbinden.

Andere Tipps

Nach meiner Erfahrung ist es ein gebräuchlicher Name, obwohl man nicht immer in es so zu sein vertrauen sollte. Vielleicht die Schnittstellen Aufzählen und für die eine mit einer Adresse 127.0.0.1 suchen wäre der Weg zu gehen?

Es ist eine ziemlich alte Konvention, in der Tat habe ich nicht eine Linux-Box / Distro noch gesehen, dass nicht angerufen hat es lo '.

Allerdings Gerätenamen in * nix-Systeme sind so vielfältig, kann sie ändern sich nicht übernommen werden. Verwenden Sie die Standards, wenn Sie Portabilität (in diesem Fall 127.0.0.1) wollen.

Schnittstellen können Sie wollen etwas umbenannt werden - aber wer der Loopback-Schnittstelle umbenennt ist extrem albern und verdient ein arbeitsfreien System haben:)

Ja, können Sie die Schnittstellen aufzählen, und ihre Namen bekommen. Aber vielleicht ist es genau so einfach zu einfach davon ausgehen, es wird sein „lo“.

Mit 127.0.0.1 ist wahrscheinlich die ausfallsichere Art und Weise, darüber zu gehen.

RFC3330 127.0.0.0/8 definiert immer das Loopback-Subnetz sein.

Die Verwendung von localhost jedoch definiert unter Windows in c:\windows\system32\drivers\etc\hosts und Linux in /etc/hosts ist rein Konvention. Darüber der Name lo ist der typische Name der angegebene localhost Schnittstelle in Linux.

Wenn Sie müssen absolut sicher sein, verwenden Sie 127.0.0.1.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top