¿Cómo detectar si una computadora Linux está conectada a la red externa?
1. El ping puede estar bloqueado por la puerta de enlace. Si puede hacer ping a www.baidu.com, significa que puede conectarse a la red externa.
2. requieren autenticación Las redes, como el wifi de ChinaUnicom, redirigirán todo el puerto 80 DNAT a la página de inicio de sesión antes de iniciar sesión, lo que provocará errores de juicio.
3. Puerto 443. Generalmente las redes certificadas no usarán DNAT en este puerto. Incluso si lo hacen, provocará errores de certificado. No hay muchos sitios web HTTPS nacionales, y Baidu también tendrá errores de certificado. circunstancias normales.
Por lo tanto, se recomienda wget/curl una página HTTP con contenido fijo, como / (este nombre de dominio realmente existe), y luego determinar el contenido. Si se detecta diferente, también se le puede solicitar al usuario. a "Su red" Es posible que necesite iniciar sesión para usarla". E incluso si el juicio es incorrecto, la experiencia del usuario será la misma.