Capítulo 1 — Fundamentos e diagnóstico inicial
1. Ping
Conceito: O comando ping utiliza o protocolo ICMP (Internet Control Message Protocol) para testar a conectividade entre o computador local e um destino remoto (identificado por IP ou hostname). Ele envia pacotes Echo Request e aguarda respostas Echo Reply, medindo a latência (tempo de resposta) e verificando perdas de pacotes. É amplamente usado para diagnosticar problemas de conectividade, como verificar se um servidor está online ou se há falhas na rede. O comando é simples, mas não oferece muitas opções de personalização no CMD.
Exemplo:
ping google.com
Exemplo de Saída:
Pinging google.com [142.250.190.78] with 32 bytes of data:
Reply from 142.250.190.78: bytes=32 time=25ms TTL=117
Reply from 142.250.190.78: bytes=32 time=24ms TTL=117
Reply from 142.250.190.78: bytes=32 time=26ms TTL=117
Reply from 142.250.190.78: bytes=32 time=25ms TTL=117
Ping statistics for 142.250.190.78:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 24ms, Maximum = 26ms, Average = 25ms
Exemplo com parâmetros:
ping google.com -n 10
Explicação: O parâmetro -n 10 especifica que 10 pacotes serão enviados, em vez dos 4 padrão, permitindo um teste mais prolongado.
2. Test-Connection
Conceito: O cmdlet Test-Connection é a versão PowerShell do ping, oferecendo maior flexibilidade e integração com pipelines. Ele também usa ICMP para testar conectividade, mas retorna objetos PowerShell, permitindo filtragem, formatação ou automação avançada. Pode especificar a interface de origem, testar múltiplos destinos simultaneamente e ajustar parâmetros como tamanho do pacote ou tempo de espera. É ideal para scripts de monitoramento de rede.
Exemplo:
Test-Connection -ComputerName google.com -Count 4
Exemplo de Saída:
Source Destination IPV4Address IPV6Address Bytes Time(ms)
------ ----------- ----------- ----------- ----- --------
DESKTOP-ABC google.com 142.250.190.78 32 25
DESKTOP-ABC google.com 142.250.190.78 32 24
DESKTOP-ABC google.com 142.250.190.78 32 26
DESKTOP-ABC google.com 142.250.190.78 32 25
Exemplo com Wi-Fi:
Test-Connection -ComputerName 192.168.1.1 -Source (Get-NetAdapter -Name "Wi-Fi").Name
Exemplo de Saída:
Source Destination IPV4Address IPV6Address Bytes Time(ms)
------ ----------- ----------- ----------- ----- --------
Wi-Fi 192.168.1.1 192.168.1.1 32 5
Wi-Fi 192.168.1.1 192.168.1.1 32 4
Wi-Fi 192.168.1.1 192.168.1.1 32 6
Wi-Fi 192.168.1.1 192.168.1.1 32 5
Explicação: Testa a conectividade com o gateway local usando a interface Wi-Fi, útil para verificar a estabilidade da conexão sem fio.
3. Netstat
Conceito: O comando netstat exibe informações detalhadas sobre conexões de rede ativas, portas abertas, tabelas de roteamento e estatísticas de interface. Ele é útil para monitorar quais aplicativos estão usando a rede, identificar portas em uso e diagnosticar problemas de conectividade. No PowerShell, cmdlets como Get-NetTCPConnection oferecem funcionalidades semelhantes, com saídas estruturadas para automação.
Exemplo:
netstat -ano
Exemplo de Saída:
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 896
TCP 192.168.1.100:49152 142.250.190.78:443 ESTABLISHED 4568
UDP 0.0.0.0:123 *:* 1024
PowerShell alternativo:
Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State
Exemplo de Saída:
LocalAddress LocalPort RemoteAddress RemotePort State
------------ --------- ------------- ---------- -----
192.168.1.100 49152 142.250.190.78 443 Established
127.0.0.1 5357 0.0.0.0 0 Listen
Explicação: Lista conexões TCP ativas, útil para identificar tráfego de rede ou portas abertas.
4. Get-NetAdapter
Conceito: O cmdlet Get-NetAdapter lista todas as placas de rede físicas e virtuais no sistema, incluindo adaptadores Wi-Fi, Ethernet e virtuais (como os usados em VPNs). Ele fornece informações como nome da interface, status (conectado/desconectado), endereço MAC, velocidade do link e tipo de mídia. É essencial para diagnosticar problemas de hardware de rede ou configurar interfaces específicas.
Exemplo:
Get-NetAdapter
Exemplo de Saída:
Name InterfaceDescription ifIndex Status
---- -------------------- ------- ------
Wi-Fi Intel(R) Wireless-AC 9560 12 Up
Ethernet Realtek PCIe GbE Family Controller 8 Disconnected
Exemplo Wi-Fi:
Get-NetAdapter -Name "Wi-Fi"
Exemplo de Saída:
Name InterfaceDescription ifIndex Status
---- -------------------- ------- ------
Wi-Fi Intel(R) Wireless-AC 9560 12 Up
Explicação: Exibe detalhes apenas da placa Wi-Fi, útil para verificar se está ativa.
5. Ipconfig (Get-NetIPConfiguration)
Conceito: O comando ipconfig exibe configurações de rede, como endereço IP, máscara de sub-rede, gateway padrão e servidores DNS. No PowerShell, Get-NetIPConfiguration é seu equivalente, oferecendo uma saída estruturada e mais fácil de manipular em scripts. É usado para verificar configurações de rede de todas as interfaces ou de uma específica, como Wi-Fi.
Exemplo:
ipconfig
Exemplo de Saída:
Windows IP Configuration
Wireless LAN adapter Wi-Fi:
Connection-specific DNS Suffix . : home
IPv4 Address. . . . . . . . . . . : 192.168.1.100
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
PowerShell alternativo:
Get-NetIPConfiguration
Exemplo de Saída:
InterfaceAlias : Wi-Fi
InterfaceIndex : 12
IPv4Address : 192.168.1.100
IPv4DefaultGateway : 192.168.1.1
DNSServer : 8.8.8.8
Exemplo Wi-Fi:
Get-NetIPConfiguration -InterfaceAlias "Wi-Fi"
Exemplo de Saída:
InterfaceAlias : Wi-Fi
InterfaceIndex : 12
IPv4Address : 192.168.1.100
IPv4DefaultGateway : 192.168.1.1
DNSServer : 8.8.8.8
Explicação: Mostra configurações de IP apenas para a interface Wi-Fi, útil para verificar a conectividade sem fio.