Sua distribuição Linux vem pré-empacotada com diversas ferramentas de rede poderosas, incluindo algumas que podem diagnosticar problemas comuns ou ajudá-lo a monitorar conexões suspeitas. Mas, como acontece com todas as coisas do Linux, é difícil saber por onde começar. Então, aqui estão alguns comandos de rede essenciais que você precisa conhecer.
pingar
O comando de rede mais importante no Linux pode ser o ping. Este comando permite verificar se uma máquina remota está respondendo às suas solicitações. Você pode usar o ping para verificar se sua conexão com a Internet está ativa ou se um servidor caiu, por exemplo.
O uso básico é ping seguido por um endereço IP ou DNS:
ping howtogeek.comO ping será executado para sempre até você pressionar Ctrl+C e, em seguida, fornecer algumas estatísticas. Você pode definir uma contagem com a opção -c, seguida por um número. ping fará ping em uma máquina apenas esse número de vezes:
Por exemplo, para executar ping em howtogeek.com quatro vezes:
ping -c 4 howtogeek.comNão se assuste se não obtiver resposta. Muitos servidores são configurados para desconsiderar solicitações de ping por segurança. Experimente máquinas diferentes se quiser ter certeza de que sua conexão com a Internet está funcionando.
Tenha cuidado ao executar ping em algumas máquinas. Alguns administradores podem interpretar o ping repetido como uma tentativa de invasão.
traceroute
Enquanto o ping informará se um servidor está ativo e ouvindo solicitações de ping, o traceroute mostrará os possíveis caminhos que seus pacotes seguirão da sua máquina até o destino.
Por exemplo, para encontrar o caminho da sua máquina para o HTG:
traceroute howtogeek.comVocê verá uma lista de saltos preenchendo o terminal. Você provavelmente verá muitas entradas em branco. Isso também se deve ao fato de muitas máquinas não ouvirem os comandos ping. traceroute funciona definindo o TTL de um pacote de Internet, ou “Time To Live” em quantidades crescentes para que eles falhem e retornem a localização dos servidores ao longo de uma rota possível. As rotas podem mudar cada vez que você executa o traceroute.
metrô
Você pode estar confuso sobre usar ping ou traceroute. Por que não usar os dois? Isso é o que mtr, ou My Traceroute, faz. mtr combina ping e traceroute em um programa. Você pode ver a rota que seus pacotes seguem junto com algumas estatísticas. mtr é executado continuamente. Ele também é executado em tela inteira ou como janela GUI.
O que é fascinante é observar as estatísticas sendo atualizadas continuamente. mtr mostra o maior e o menor, bem como a média e o desvio padrão, ou a distribuição desses valores em torno da média. Freqüentemente, você verá um ou dois saltos mais lentos que os outros ao longo do caminho. Isso significa que há um gargalo que atrapalha o tráfego ao longo do caminho.
mtr também pode ilustrar como os caminhos na rede entre máquinas podem mudar a cada execução.
IP
ip substituiu ifconfig como ferramenta de configuração da Internet na maioria das principais distribuições Linux. Você não terá que fazer muito com isso, pois sua distribuição lidará sozinha com a maioria dos dispositivos de rede. Você pode ver algumas informações úteis com ip. Por exemplo, para mostrar seus endereços IP atuais em seus dispositivos de rede:
ip addressVocê também pode ver a rota para onde seus pacotes irão:
ip routeExecutado sozinho, ip mostrará os nomes dos dispositivos de rede conectados, seus endereços IP atualmente atribuídos, bem como a máscara de sub-rede, a parte que pertence à rede. As interfaces Ethernet geralmente começam com “en”.
netstat
netstat mostrará as conexões abertas em sua máquina sem nenhum argumento. A opção -r mostrará a tabela de roteamento.
Você provavelmente precisará ser root para executá-lo por segurança:
sudo netstatnetstat mostrará os soquetes abertos em sua máquina e quais estão escutando. Você pode usar isso para monitorar suas conexões e investigar qualquer coisa que pareça suspeita.
rota
route, como o nome indica, mostrará a tabela de roteamento de qualquer interface de rede em sua máquina. Geralmente será o roteador ou switch mais próximo. Você pode até adicionar ou excluir rotas manualmente, mas provavelmente não precisará fazer isso em circunstâncias normais em uma máquina desktop padrão.
A linha “default” significa a rota padrão da rede para onde as solicitações irão. Geralmente, esse é o roteador ou modem a cabo mais próximo, se estiver conectado diretamente à sua máquina.
A maioria dos sistemas de desktop comuns gerencia o roteamento automaticamente e geralmente há apenas um lugar para eles irem em redes residenciais, como seu roteador Wi-Fi.
ss
ss é um utilitário para despejar estatísticas de qualquer soquete da sua máquina no terminal. Isso é útil para encontrar conexões de rede abertas. Tal como acontece com o netstat, é uma ferramenta útil para investigar suas conexões de rede e ver se há algo conectado à sua máquina que não deveria estar. Você pode detalhar suas conexões por protocolo ou soquete.
ss e netstat são boas maneiras de aprender mais sobre soquetes ou redes em geral.
tcpdump
tcpdump é um sniffer de pacotes que é uma contraparte baseada em terminal do popular programa Wireshark. Com o tcpdump, você pode ver os pacotes que sua máquina está enviando. Como isso mostra todo o tráfego em uma interface, geralmente você precisa ser root para executá-la:
sudo tcpdump
Isso mostrará todos os pacotes enviados e recebidos na interface de rede padrão em tempo real. Este é um diagnóstico útil, mas também pode ser usado para espionar o tráfego da Internet. Felizmente, hoje em dia é mais comum que o tráfego da Internet seja criptografado; portanto, se alguém obtivesse suas transmissões, seria inútil, a menos que encontrasse uma maneira de decodificá-las.
escavação
Se quiser descobrir quem está por trás desse nome de domínio, você pode usar o comando dig:
dig howtogeek.comQuando você insere um nome de domínio, o dig consulta os servidores DNS e exibe os resultados. DNS é o que conecta nomes de domínio ao endereço IP. Os nomes de domínio serão “autoritários”, o que significa que vêm do endereço IP do domínio solicitado, ou “recursivos”, o que significa que um servidor perguntou a outro servidor DNS qual era o endereço.
A escavação mostrará o endereço IP associado ao domínio na seção “resposta”. Também mostrará quando você fez a solicitação e quanto tempo levou para o servidor DNS responder ao final da saída.
hospedar
host também fornecerá mais informações sobre um nome de domínio, como quais servidores lidam com e-mail. Tal como acontece com o dig, ele informará o endereço IP do nome de domínio, bem como quais servidores gerenciarão seu e-mail.
Esta ferramenta é mais simples de ler do que cavar, pois contém menos informações. Você notará que muitos sites possuem vários servidores de e-mail, incluindo HTG. Os vários servidores de e-mail normalmente correspondem a subdomínios, como sales.example.com para a equipe de vendas example.com, eengineering.example.com para o departamento de engenharia e assim por diante.
Provavelmente, o que mais lhe interessa é apenas a primeira linha, que informa qual endereço respondeu à solicitação de DNS.
quem é
whois retornará os registros oficiais de um nome de domínio, o que pode ser útil se você precisar entrar em contato com um administrador de um site para relatar um problema. Também é possível abusar disso, por isso é possível registrar um nome de domínio anonimamente.
Você verá muitas das mesmas informações no dig ou no host, mas também verá as informações de contato de quem registrou o nome de domínio. Se o proprietário do site não quiser que seu nome e endereço sejam acessíveis a qualquer pessoa que saiba como executar uma consulta whois, o nome de domínio geralmente será registrado por uma empresa que vende nomes de domínio, como GoDaddy. Você também verá quando o nome de domínio foi registrado e quando expira.
enrolar ou wget
curl e wget são utilitários populares para baixar arquivos de servidores usando a linha de comando. O wget seguirá automaticamente os redirecionamentos, mas o curl é popular para scripts. Algumas ferramentas, como Oh My Zsh, permitirão que você use uma delas como parte do processo de instalação.
Para usar curl para baixar a página inicial de howtogeek.com:
curl howtogeek.comE para wget:
wget howtogeek.comTenha cuidado ao rastrear sites de outras pessoas ao usar esses utilitários. É melhor realizar downloads extensos somente quando você tiver permissão para fazê-lo. Caso contrário, a sua atividade poderá ser interpretada como um ataque ao site.
A principal diferença entre os dois comandos é que o curl é mais adequado para baixar arquivos individuais, enquanto o wget pode seguir links em um site para baixar outras páginas. Você pode até baixar uma cópia completa de um site usando o wget, o que é útil para fazer um backup local caso ele caia.