LFCA: Aprenda Comandos Básicos de Rede – Parte 4

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
Traceroute – Network Diagnostic Tool

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
mtr – network analysis and troubleshooting tool

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
ifconfig – lists network interfaces

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
Check Network Interface

6. Comando IP

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

$ ip address
IP Network Configuration Tool

7. Comando de rota IP

O comando ip route imprime a tabela de roteamento do seu PC.

$ ip route 
OR
$ ip route show
List Network Routing Table

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
dig – Network Administration Tool

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
Domain Name Server Lookup

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
List Active TCP Connections

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.

Source:
https://www.tecmint.com/basic-networking-commands/