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.