Problemas de rede no Mac? Conheçam estes 5 comandos
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.
Este artigo tem mais de um ano
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?
São Newbies em MacOS e ainda andam à “pesca”.
Keep it simple.
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.
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
Desculpa lá mas eu tenho um Mac e não dá….
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!
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.
e? Por fazer mais coisas deixa de fazer o que apontei (ping, traceroute… )?
pelo mesmo motivo que ha gestores de GIT e muita gente usa a linha de comandos, gosto e habito
Comandos herdados do Linux…
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/
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
Herdados? lol..
Herdados do UNIX, mais precisamente!
lol! Quem te ouvir fica a pensar que achas que o macOS veio do Linux
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.
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.
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.
caros, meu mac esta setado pra funcionar a 11 MBPS via wifi, quero alterar isso para velocidades maiores.
quais comandos devo executar via terminal?