Em qualquer momento em que estiver usando seu PC conectado a um roteador, você fará parte de uma rede. Seja em um ambiente de escritório ou simplesmente trabalhando de 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 gerais de rede e como eles podem ser benéficos na resolução de problemas de conectividade.
1. Comando hostname
O comando 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 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 é refletida pelo host remoto e enviada de volta à origem, informando ao usuário que o host está ativo ou disponível.
O comando ping tem a sintaxe mostrada.
$ ping options IP address
Por exemplo, para fazer ping em um host na minha rede local com o IP de 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 feito, 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 fazer ping no nome de domínio de um host ou servidor. Por exemplo, você pode fazer ping no 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, você pode fazer ping no DNS. Por exemplo, você pode fazer ping no 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 de 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 percorre do seu dispositivo até o host ou servidor de destino. Ele mostra 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 indica 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 razões, como congestionamento da rede.
O comando Traceroute é um comando de diagnóstico interessante que você pode usar para solucionar problemas na rede onde o comando ping apresenta resultados falhos. Ele mostra o dispositivo no qual os pacotes estão sendo descartados.
$ traceroute google.com

4. Comando mtr
O comando mtr (my trace route) combina as funcionalidades dos comandos ping e traceroute. Ele exibe uma série de estatísticas, incluindo o host por onde cada pacote passa, e os tempos de resposta para todas as etapas da 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 mencionar 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 ver os detalhes de uma única interface especificando a interface conforme mostrado:
$ ifconfig enp0s3

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

7. Comando ip route
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 (mail exchanges), servidores de nomes, etc.
Resumidamente, o comando dig é uma utilidade de consulta DNS e é usado principalmente por administradores de sistemas para solução de problemas DNS.
$ dig ubuntu.com

9. Comando nslookup
O utilitário nslookup é mais uma ferramenta de linha de comando que é 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, 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 TCP ativas, invoque o comando:
$ netstat -ant

11. Comando ss
O comando ss é uma ferramenta de rede que é 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.