Pregunta

¿Es seguro asumir que el adaptador de red de bucle invertido en un sistema Linux siempre se llamará 'lo'? ¿Es solo una convención de nomenclatura a la que no se debe cumplir, o debe ser siempre el caso?

¿Fue útil?

Solución

No conozco ningún sistema Linux que tenga una interfaz de bucle de retorno que no sea lo . Me gustaría confiar en esta convención de nombres, si escribo un script específico del sistema, pero no cuando escribo un programa portátil. Por ejemplo, loopback en OSX es lo0 .

Una forma confiable en C es llamar a un SIOCGIFCONF ioctl en un socket, iterar sobre las interfaces, llamar a SIOCGIFFLAGS ioctl en cada una, y verifique qué interfaces tienen un conjunto de indicadores IFF_LOOPBACK (consulte /usr/include/linux/if.h ).

SIOCGIFCONF también le dará nombres de interfaz.

Otros consejos

En mi experiencia, es un nombre común, aunque no siempre debes confiar en que sea así. ¿Tal vez enumerar las interfaces y buscar una con una dirección de 127.0.0.1 sería el camino a seguir?

Es una convención bastante antigua, de hecho, no he visto una caja / distribución de Linux que aún no lo haya llamado 'lo'.

Sin embargo, los nombres de dispositivos en los sistemas * nix son tan diversos que puede suponerse que cambiarán. Utilice los estándares si desea portabilidad (en este caso, 127.0.0.1).

Se puede cambiar el nombre de las interfaces a cualquier cosa que desee, pero cualquier persona que cambie el nombre de la interfaz de bucle invertido es extremadamente tonta y merece tener un sistema que no funcione :)

Sí, puedes enumerar las interfaces y obtener sus nombres. Pero tal vez sea tan fácil simplemente asumir que va a ser " lo " ;.

Utilizar 127.0.0.1 es probablemente la manera segura de hacerlo.

RFC3330 define 127.0.0.0/8 para que siempre sea la subred de bucle invertido.

El uso de localhost , sin embargo, se define en Windows en c: \ windows \ system32 \ drivers \ etc \ hosts y Linux en / etc / hosts es puramente convencional. Además, el nombre lo es el nombre típico dado a la interfaz localhost en Linux.

Si debe estar absolutamente seguro, use 127.0.0.1 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top