Em qualquer momento em que estiver usando seu PC, que está conectado a um roteador, você fará parte de uma rede. Esteja você em um ambiente de escritório ou simplesmente trabalhando em casa, seu computador estará em uma rede.
O que é uma Rede de Computadores?
A computer network is defined as a group of 2 or more computers that are connected and can electronically communicate with each other. The computers are identified using their hostnames, IP, and mac addresses.
A simple home or office network is referred to as a LAN, short for Local Area Network. A LAN covers a small area such as a home, office, or restaurant network. In contrast, a WAN (Wide Area Network) spans a large geographical region. WAN is mostly used to connect various sites such as office buildings in different locations.
Este artigo é Parte 4 da série LFCA, aqui nesta parte, você se familiarizará com comandos de rede gerais e o quão benéficos eles podem ser na solução de problemas de conectividade.
1. Comando de hostname
O comando de hostname exibe o nome do host de um sistema Linux. Isso geralmente é definido ou configurado durante a instalação. Para verificar o nome do host, execute o comando:
$ hostname tecmint
2. Comando de ping
Abreviação de “packet internet groper”, o comando ping é usado para verificar a conectividade entre 2 sistemas ou servidores. Ele envia uma solicitação de eco ICMP para um host remoto e aguarda uma resposta. Se o host estiver ativo, a solicitação de eco é enviada de volta ao host remoto e retorna para a origem informando ao usuário que o host está ativo ou disponível.
O comando ping segue a sintaxe mostrada.
$ ping options IP address
Por exemplo, para pingar um host na minha rede local com o IP 192.168.2.103, eu executaria o comando:
$ ping 192.168.2.103 PING 192.168.0.123 (192.168.0.123) 56(84) bytes of data. 64 bytes from 192.168.2.103: icmp_seq=1 ttl=64 time=0.043 ms 64 bytes from 192.168.2.103: icmp_seq=2 ttl=64 time=0.063 ms 64 bytes from 192.168.2.103: icmp_seq=3 ttl=64 time=0.063 ms 64 bytes from 192.168.2.103: icmp_seq=4 ttl=64 time=0.061 ms 64 bytes from 192.168.2.103: icmp_seq=5 ttl=64 time=0.062 ms
O comando ping continua enviando o pacote de ping ICMP até que você o interrompa pressionando Ctrl + C
no teclado. No entanto, você pode limitar os pacotes enviados usando a opção -c
.
No exemplo abaixo, estamos enviando 5 pacotes de solicitação de eco e, uma vez concluído, o comando ping para.
$ ping 192.168.2.103 -c 5 PING 192.168.0.123 (192.168.0.123) 56(84) bytes of data. 64 bytes from 192.168.2.103: icmp_seq=1 ttl=64 time=0.044 ms 64 bytes from 192.168.2.103: icmp_seq=2 ttl=64 time=0.052 ms 64 bytes from 192.168.2.103: icmp_seq=3 ttl=64 time=0.066 ms 64 bytes from 192.168.2.103: icmp_seq=4 ttl=64 time=0.056 ms 64 bytes from 192.168.2.103: icmp_seq=5 ttl=64 time=0.066 ms --- 192.168.2.103 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4088ms rtt min/avg/max/mdev = 0.044/0.056/0.066/0.008 ms
Além disso, você também pode pingar o nome de domínio de um host ou servidor. Por exemplo, você pode pingar o Google como mostrado.
$ ping google.com PING google.com (142.250.183.78) 56(84) bytes of data. 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=1 ttl=117 time=2.86 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=2 ttl=117 time=3.35 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=3 ttl=117 time=2.70 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=4 ttl=117 time=3.12 ms ...
Também é possível pingar o DNS. Por exemplo, você pode pingar o endereço do Google que é 8.8.8.8.
$ ping 8.8.8.8 -c 5 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=3.24 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=3.32 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=3.40 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=3.30 ms 64 bytes from 8.8.8.8: icmp_seq=5 ttl=118 time=2.92 ms --- 8.8.8.8 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 2.924/3.237/3.401/0.164 ms
A failed ping test is pointed to one of the following:
- A host that is offline.
- Falha geral na rede.
- Presença de um firewall que está bloqueando solicitações ICMP.
3. Comando traceroute
O comando traceroute exibe a rota que um pacote de ping ICMP faz do seu dispositivo para o host ou servidor de destino. Ele exibe os endereços IP dos dispositivos pelos quais o pacote passa antes de chegar ao destino remoto.
Na linha 2, a saída mostra um sinal de asterisco *
na viagem de ida e volta. Isso é um indicador de que o pacote foi descartado e nenhuma resposta foi recebida. Isso mostra que o pacote de ping foi descartado pelo roteador, e isso pode ser por uma variedade de motivos, como congestionamento de rede.
O comando Traceroute é um comando de diagnóstico útil que você pode usar para solucionar problemas na rede onde o comando ping fornece resultados falhos. Ele mostra o dispositivo no qual os pacotes estão sendo descartados.
$ traceroute google.com

4. Comando mtr
O mtr (meu traceoute) combina as funcionalidades dos comandos ping e traceroute. Ele exibe uma série de estatísticas, incluindo o host pelo qual cada pacote viaja e os tempos de resposta para todos os saltos de rede.
$ mtr google.com

5. Comando ifconfig
O comando ifconfig lista as interfaces de rede conectadas ao PC, juntamente com outras estatísticas, como os endereços IP associados a cada interface, máscara de sub-rede e MTU, para citar apenas alguns.
$ ifconfig

O parâmetro inet mostra o endereço IPv4 da interface de rede, enquanto inet6 aponta para o endereço IPv6. Você pode visualizar os detalhes de uma única interface especificando a interface conforme mostrado:
$ ifconfig enp0s3

6. Comando IP
Outra maneira de visualizar estatísticas da interface é usando o comando ip address conforme mostrado.
$ ip address

7. Comando de rota IP
O comando ip route imprime a tabela de roteamento do seu PC.
$ ip route OR $ ip route show

8. Comando dig
O utilitário dig (abreviação de Domain Information Groper) é uma ferramenta de linha de comando para sondar servidores de nomes DNS. Ele recebe um nome de domínio como argumento e exibe informações como o endereço do host, registro A, registro MX (trocas de correio), servidores de nomes, etc.
Em resumo, o comando dig é uma utilidade de pesquisa DNS e é principalmente usado por administradores de sistema para solução de problemas de DNS.
$ dig ubuntu.com

9. Comando nslookup
O utilitário nslookup é mais uma ferramenta de linha de comando usada para fazer pesquisas DNS na tentativa de recuperar nomes de domínio e registros A.
$ nslookup ubuntu.com

10. Comando netstat
O comando netstat imprime as estatísticas da interface de rede. Ele pode exibir a tabela de roteamento, as portas em que vários serviços estão ouvindo, conexões TCP e UDP, PID e UID.
Para exibir as interfaces de rede conectadas ao seu PC, execute:
$ netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp1s0 1500 0 0 0 0 0 0 0 0 BMU lo 65536 4583 0 0 0 4583 0 0 0 LRU wlp2s0 1500 179907 0 0 0 137273 0 0 0 BMRU
Para verificar a tabela de roteamento, use a opção -r
conforme mostrado.
$ netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default _gateway 0.0.0.0 UG 0 0 0 wlp2s0 link-local 0.0.0.0 255.255.0.0 U 0 0 0 wlp2s0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
Para examinar conexões ativas de TCP, invoque o comando:
$ netstat -ant

11. Comando ss
O comando ss é uma ferramenta de rede usada para exibir estatísticas de soquetes e mostrar métricas de rede do sistema de forma semelhante ao comando netstat. O comando ss é mais rápido que o netstat e exibe mais informações sobre estatísticas de TCP e rede do que o netstat.
$ ss #list al connections $ ss -l #display listening sockets $ ss -t #display all TCP connection
Resumo
Essa foi uma visão geral dos comandos básicos de rede que serão úteis, especialmente ao solucionar problemas menores de rede em seu ambiente doméstico ou de escritório. Experimente-os de vez em quando para aprimorar suas habilidades de solução de problemas de rede.