Problemas de rede no Mac? Conheçam estes 5 comandos

19 Comentários

O terminal do macOS é uma ferramenta extremamente poderosa! Apesar de não disponibilizar nativamente muitos dos comandos que existem nas distribuições Linux, estes podem ser facilmente instalados recorrendo a gestores de pacotes como por exemplo o Homebrew.

Hoje deixamos-lhe um conjunto de 5 comandos muito úteis para ver e analisar eventuais problemas com a rede.


1) ifconfig

Um dos métodos mais rápidos de saber o endereço IP (e outras configurações de rede) de uma máquina é acedendo à linha de comandos e escrever o comandos ifconfig

 

2) Ping

Um dos métodos que normalmente usamos para saber se uma máquina está “viva” na rede, é recorrer ao comando ping.

O PING (Packet InterNet Groper) é um utilitário presente em quase todos os sistemas operativos que permite saber se uma determinada máquina remota está acessível ou não (descartando as firewalls). Além disso, esta ferramenta pode dar-nos também alguma informação sobre o próprio estado da rede (ex. latência, congestionamento, etc).

O comando ping recorre ao ICMP (protocolo de mensagens de controlo de rede) enviando um pacote específico para uma determinada máquina e espera pela resposta (registando o delay). Este delay é denominado de latência. Em termo de analogia, o ping pode ser comparado ao ping-pong (se enviarmos a bola para um lado (echo request), do outro lado, se estiver lá alguém, vamos receber uma resposta (echo reply). Saiba como ler o resultado de um ping.

 

3) Traceroute

Com o traceroute podemos saber, em tempo real, todo o caminho (ou seja, quais os routers por onde passa a nossa comunicação), da origem até ao destino. O traceroute pode ser utilizado para detetar falhas em routers/gateways intermediários.

Esta ferramenta faz uso do campo TTL (time to live, que define o número de “saltos” que um pacote pode dar entre routers até que seja descartado) do protocolo IP, sendo que o valor desse campo é decrementado cada vez que o pacote é reencaminhado por um router. Quando esse valor chega a zero, o router descarta-o e devolve uma mensagem de erro.

 

4) nslookup

O DNS (Domain Name System), é responsável pela tradução de nomes, em endereços de IP. Todos os websites que visitamos têm associado um endereço de IP, além de nós só sabermos o seu nome, neste caso ao visitarmos o pplware.com, estamos a aceder ao IP 213.13.65.157, mas é muito mais simples para o ser humano decorar Pplware.com, do que 213.13.65.157.

Que tipos de registos se podem encontrar num servidor de DNS?

  • A – registo associado a um IP do tipo v4. Geralmente utilizados para fazer a correspondência entre um nome e um endereço;
  • AAA – registo associado a um IP do tipo v6. Geralmente utilizados para fazer a correspondência entre um nome e um endereço;
  • MX – Aponta para os servidores de e-mail do domínio. A este registo está sempre associada uma prioridade, que determina qual o servidor que é resolvido em primeiro lugar;
  • NS – indica qual o servidor autoritário de um determinado domínio;
  • CNAME – Basicamente são alias de um determinado domínio, por exemplo, ao escrevermos no browser www.pplware.com e Pplware.sapo.pt somos redirecionados para o mesmo sítio;

O comando nslookup é um tipo de canivete suíço para avaliar o funcionamento de servidores de DNS. Para saber mais sobre o nsloolup basta que vejam o nosso artigo: Problemas na rede, será DNS?

 

5) netstat

Uma das ferramentas mais usadas para saber as ligações estabelecidas entre a nossa máquina e outras é o Netstat. Com esta ferramenta podemos saber ainda, detalhadamente, quais os portos de comunicação TCP e UDP abertos na nossa máquina, ver tabela de encaminhamento, estatísticas das interfaces, etc. Veja aqui como pode usar o netstat.

Estes são alguns dos comandos que costumo usar com alguma frequência no macOS e que considero bastante úteis para ver e avaliar problemas na rede. Estes comandos dão-nos informação preciosa, não havendo assim a necessidade de instalar aplicações de terceiros para fazer troubleshooting.

Comentários

19

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Guiomar
    Guiomar

    Mas para quê usar a linha de comandos quando há uma ferramenta do próprio sistema (Utilitário de Rede) que permite acesso rápido a tudo isso num único sítio?

    1. Avatar de Luisbad
      Luisbad

      São Newbies em MacOS e ainda andam à “pesca”.
      Keep it simple.

    2. Avatar de int3
      int3

      como fazes ping? como fazes traceroute? como vês todas as ligações de rede por placa? como vês placas virtuais?
      não dá na interface gráfica….
      Duvido que leste o artigo.

      1. Avatar de Guiomar
        Guiomar

        Não dá na interface gráfica? Mas será que a interface gráfica tem algum problema em formatar texto e realizar tarefas? O Utilitário de Rede no macOS permite fazer isso tudo

        1. Avatar de Int3
          Int3

          Desculpa lá mas eu tenho um Mac e não dá….

          1. Avatar de Guiomar
            Guiomar

            E o que é que me interessa que tu tenhas um Mac quando o Utilitário da Rede do macOS há décadas que faz ping, traceroute, etc, etc!

          2. Avatar de int3
            int3

            ok já vi que faz.
            então faz o seguinte.
            Faz ping a uma lista de IPs, automáticamente, traceroute e exibe num ficheiro em CSV o resultado.
            Dá para fazer?

            Claro que não.
            É para isso que uso o terminal, shell bash para codar uns scripts.

          3. Avatar de Guiomar
            Guiomar

            e? Por fazer mais coisas deixa de fazer o que apontei (ping, traceroute… )?

    3. Avatar de GF
      GF

      pelo mesmo motivo que ha gestores de GIT e muita gente usa a linha de comandos, gosto e habito

  2. Avatar de Bruno Silva Marques
    Bruno Silva Marques

    Comandos herdados do Linux…

    1. Avatar de paulo
      paulo

      Hm, não. Quanto muito, podes dizer que são “herdados” do BSD por causa do Darwin. Mais info aqui https://pt.wikipedia.org/wiki/MacOS e aqui https://opensource.apple.com/

    2. Avatar de Álvaro Campos
      Álvaro Campos

      LOL, sempre a deitar abaixo….
      Se calhar nem foi do Linux que o ifconfig apareceu pela 1ª vez…
      Ora vê bem: https://en.wikipedia.org/wiki/Ifconfig

    3. Avatar de José Rodrigues
      José Rodrigues

      Herdados? lol..

    4. Avatar de Antonio
      Antonio

      Herdados do UNIX, mais precisamente!

    5. Avatar de Guiomar
      Guiomar

      lol! Quem te ouvir fica a pensar que achas que o macOS veio do Linux

    6. Avatar de int3
      int3

      Bruno, não sabes o que falas.
      MacOS é mais UNIX que o Linux. Linux é um pseudo-unix porque foi feito a partir do 0, sem 1 única linha de código do antigo BSD. Já o freeBSD, openBSD, netBSD, e por ai fora já partilham muito código.
      E estes “comandos” são do Darwin que é o sistema operativo do MacOS.
      Este Darwin usa um vasto leque de programas e rotinas que provém do NetBSD, FreeBSD mas mais diretamente do NextSTEP (criado pela nextstep do steve jobs que se baseou no BSD assim como todos os outros sistemas).
      E não sabias que no MacOS tens shells? Bash, Ash, ZSH, SH, por ai fora.
      Também tens gestão de pacotes como no ubuntu, apt, aqui podes ter o brew ou macports ou o pkgsrc que é universal de quase todos os BSDs.
      Estuda um pouco sff.

  3. Avatar de Nope
    Nope

    Um problema em alguns Mac – que não é de rede mas cria grandes complicações para resolver quando se pensa que se tem um problema de rede – é o da interferência do Bluetooth no Wi-Fi .

    Antes de procurarem solucionar um “problema de rede/Wi-Fi”, que pode não ser, desliguem o Bluetooth do Mac e vejam o que acontece.

  4. Avatar de Rui Ribeiro
    Rui Ribeiro

    Um dos mais úteis comandos do Mac é realmente “networksetup -setairportpower en0 off” seguido de “networksetup -setairportpower en0 on”. Já em mim e conhecidos o wifi recusava-se a trabalhar de todo (bugs?) e isto resolveu o problema. Substituir o en0 pela vossa interface wifi.

  5. Avatar de Clayton Brenand
    Clayton Brenand

    caros, meu mac esta setado pra funcionar a 11 MBPS via wifi, quero alterar isso para velocidades maiores.

    quais comandos devo executar via terminal?