2 votos

¿Cuál es la forma más sencilla de detectar la conectividad a Internet en macOS con un script?

Sé que puedo usar ping o nc, pero macOS en sí debe estar almacenando el estado de la conexión a internet en algún lugar ¿verdad?

Por ejemplo, cuando te conectas al Wifi, sin internet, macOS da una indicación (en el Centro de Control) de que se ha conectado al Wifi pero no hay internet. Ese es el tipo de caso de uso que quiero verificar determinando la conectividad a internet:

Información de Wi-Fi en el Centro de Control mostrando

¿Se puede acceder a esa información a través de Terminal o mediante un script para determinar si existe una conexión a internet?

3voto

Joel Puntos 112

Aviso: No sé cómo determina macOS el mensaje de No hay conexión a Internet que muestra en el Centro de control.

Sin embargo, se me ocurren dos tres pruebas que podrías ejecutar desde la línea de comandos para verificar el estado de tu Conexión a Internet:

1. networkQuality (¡nota la 'Q' mayúscula!); ref: man networkQuality

Un comando un tanto peculiar, ¡claramente creado por Apple! Si ejecutas el comando sin opciones, tarda unos segundos en completarse, pero como bonificación obtienes pruebas de velocidad para enlace ascendente y descendente, latencia y algo llamado "responsiveness". Dejo a tu criterio revisar el manual (man networkQuality) y leer el otro documento para personalizar el comando según tus necesidades particulares.

% networkQuality
==== RESUMEN ====
Capacidad de enlace ascendente: 44,324 Mbps
Capacidad de enlace descendente: 155,511 Mbps
Responsiveness: Bajo (54 RPM)
Latencia en inactividad: 18,250 milisegundos

_NOTA: networkQuality fue lanzado con macOS 12; Monterey._

2. dig +short myip.opendns.com @resolver1.opendns.com; ref: man dig

Este es el que suelo usar... si devuelve una dirección IP, (normalmente) significa que estoy conectado a Internet.

% dig +short myip.opendns.com @resolver1.opendns.com
126.55.123.171

3. iperf3 - ooh la la (de origen francés, de código abierto)

Mi #2 (dig) parece que no funciona para el OP, y su macOS no tiene networkQuality, así que después de investigar y probar, añadiré iperf a la lista. iperf está disponible a través de MacPorts (mi elección), HomeBrew o mediante el sitio GitHub del patrocinador.

iperf3 es un poco diferente de las otras herramientas aquí ya que es una aplicación cliente-servidor. Sin embargo, no es necesario configurar tu propio servidor, ya que hay servidores públicos disponibles. También es compatible con la afiliada del Laboratorio Nacional Lawrence Berkeley Energy Sciences Network; es decir, es una aplicación estable y confiable [

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X