4 votos

No se puede conectar a Internet en bash utiliza Mac OS

Mi navegador funciona a la perfección con el uso de Internet, sin embargo, cuando traté de usar este comando en bash:

ping -q -w1 -c1 google.com &>/dev/null && echo online || echo offline

Me da "fuera de línea" resultados. También he probado otro en un lugar diferente de la red:

ping -c 3 www.google.com

Devuelve:

PING www.google.com (74.125.193.147): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

--- www.google.com ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss

Todos estos parecen señalar que el terminal no podía alcanzar a internet. He intentado usar el wifi y el cable de lan, los resultados son los mismos.

Necesito ejecutar un programa que requiere de conexión a un servidor, me pregunto si hay alguna solución para cambiar el estado en línea. Estoy en macOS 10.13 y estoy mirando para determinar a partir de la línea de comandos si una conexión de red es viable.

Es esto posible?

4voto

Jose Chavez Puntos 645

Su problema es que usted está usando opciones no válidas para el comando ping. Parece probable que usted tiene una copia de la línea de comandos diseñado para uso en Linux, y trató de usarlo sin modificaciones en macOS.

El problema aquí es que usa Linux "-w" para especificar los tiempos de espera, mientras que macOS utiliza "-t". Esto significa que la línea de comandos, debería ser este:

ping -q -t1 -c1 google.com &>/dev/null && echo online || echo offline

4voto

Oskar Puntos 1242

Yo prefiero usar la utilidad de configuración del sistema la herramienta de prueba para la accesibilidad en lugar de utilizar ping / host / nslookup o de otro proxy para determinar si una entidad de red es o no es accesible.

scutil -r google.com
Reachable

Las ventajas de esto son que si usted tiene conexiones VPN de acceso telefónico, módem, o un enrutamiento conflicto, ello prueba que puede alcanzar el dispositivo y no sólo resolver el caché de nombre de host, etc... en mi experiencia. (también, es mucho más difícil de echar a perder el direccionamiento indirecto, archivos, lógica y obtener una respuesta directa de regreso en inglés)

Como todas las buenas herramientas de línea de comandos, devuelve 0 para hacerle saber la respuesta que ofrece es la confianza y un error si usted tiene problemas de pruebas de accesibilidad.

 -r [-W] { nodename | address | local-address remote-address }
     Check the network reachability of the specified host name, IP
     address, or a pair of local and remote IP addresses.  One or more of
     the following strings will be reported to standard output.

     Not Reachable         The specified nodename/address cannot be
                           reached using the current network configura-
                           tion.

     Reachable             The specified nodename/address can be reached
                           using the current network configuration.

     Transient Connection  The specified nodename/address can be reached
                           via a transient (e.g. PPP) connection.

     Connection Required   The specified nodename/address can be reached
                           using the current network configuration but a
                           connection must first be established.  As an
                           example, this status would be returned for a
                           dialup connection that was not currently active
                           but could handle network traffic for the target
                           system.

     Connection Automatic  The specified nodename/address can be reached
                           using the current network configuration but a
                           connection must first be established.  Any
                           traffic directed to the specified name/address
                           will initiate the connection.

     Local Address         The specified nodename/address is one associ-
                           ated with a network interface on the system.

     Directly Reachable Addresss
                           Network traffic to the specified node-
                           name/address will not go through a gateway but
                           is routed directly to one of the interfaces on
                           the system.

     The reachability can also be monitored by specifying the -W (watch)
     option.  This will result in the current status being reported as
     well as the status when/if the network configuration changes.

     A zero exit status will be returned when the reachability status is
     reported correctly.  A non-zero exit status will be returned if
     errors are detected with an error reported to standard error.

Desde que Apple índice de páginas de manual, es un PITA de usar, aquí es una suerte más estable enlace con la página del manual en línea: https://ss64.com/osx/scutil.html

Como un bono - aquí es otro decente Q&a relativo a scutil y la comprobación de la resolución: nslookup & dig fallar; ping, traceroute, y scutil -r trabajo

0voto

Cuspy Code Puntos 101

El comando ping -c 3 www.google.com debe haber producido 3 internet de los paquetes de respuesta del tipo ICMP de RESPUESTA de ECO. El comando ping envía paquetes de ECO mediante el protocolo ICMP, y las respuestas (si las hay) están los paquetes de RESPUESTA de ECO. El curl de comando en el otro lado, envía los paquetes HTTP utilizando el protocolo TCP. Desde los últimos trabajos y el primero no, probablemente hay algo entre tu máquina y www.google.com que bloquea el protocolo ICMP. Una gran cantidad de mal configurado firewalls de hacer esto, así que es donde me gustaría empezar a buscar la causa.

El bloqueo de ICMP es una mala práctica, ya que deja las cosas como Path MTU Discovery de trabajo (MTU = tamaño de la Unidad Máxima de Transmisión). Esto evita que la mayoría de tráfico de trabajo si el mando a distancia MTU es menor que el local de MTU. Así que es una muy mala idea para bloquear ICMP en el servidor de seguridad.

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: