🌐 Componente: Rede. Problemas de rede em VMs Windows podem ter origem na configuração do adaptador virtual, no hypervisor, no switch físico ou em latência de infraestrutura. O diagnóstico deve ser sistemático: da camada mais baixa (adaptador/erros) para a mais alta (DNS, portas de aplicação).
Quando suspeitar de problema de rede?
- Acesso a partilhas de rede, sites ou serviços lento mas local parece normal
- Timeouts frequentes em aplicações cliente-servidor
- Resolução de nomes lenta (DNS)
- Ligações que caem e reconectam periodicamente
- Velocidade de transferência muito abaixo do esperado
1. Estado das Interfaces de Rede
Primeiro passo: verificar o estado e os erros dos adaptadores.
# Estado de todos os adaptadores de rede
Get-NetAdapter | Select-Object Name, Status, LinkSpeed, MacAddress, DriverVersion | Format-Table -AutoSize
# Estatísticas de erros por interface
Get-NetAdapterStatistics | Select-Object `
Name, ReceivedBytes, SentBytes,
ReceivedDiscardedPackets, OutboundDiscardedPackets |
Format-Table -AutoSize
2. Contadores PerfMon — Rede
Adicionar no Win+R → perfmon.exe:
| Contador | O que mede | Limiar de alerta |
|---|---|---|
\Network Interface(*)\Bytes Total/sec |
Tráfego total da interface | Comparar com LinkSpeed |
\Network Interface(*)\Packets Received Errors |
Erros de receção | Deve ser 0 |
\Network Interface(*)\Packets Outbound Errors |
Erros de envio | Deve ser 0 |
\TCPv4\Connections Established |
Conexões TCP ativas | Crescimento anormal |
\TCPv4\Connection Failures |
Falhas de ligação TCP | Qualquer valor > 0 a crescer |
\TCPv4\Segments Retransmitted/sec |
Retransmissões TCP | > 0 indica perda de pacotes |
3. Teste de Latência e Conectividade
# Ping básico com estatísticas (20 pacotes)
ping -n 20 8.8.8.8
# Traceroute para identificar hop com latência elevada
tracert -d 8.8.8.8
# PathPing — combina ping e traceroute com estatísticas de perda por hop
pathping -n 8.8.8.8
# Test-NetConnection — teste de porta TCP específica
Test-NetConnection -ComputerName servidor.empresa.pt -Port 443
Test-NetConnection -ComputerName servidor.empresa.pt -TraceRoute
4. Diagnóstico DNS
O DNS é frequentemente ignorado mas causa muita lentidão percebida — cada ligação a um serviço começa com uma resolução de nome.
# Testar resolução DNS
Resolve-DnsName google.com
# Ver servidores DNS configurados
Get-DnsClientServerAddress | Where-Object {$_.AddressFamily -eq 2} | Format-Table
# Medir tempo de resolução DNS
Measure-Command { Resolve-DnsName google.com } | Select-Object TotalMilliseconds
# Limpar cache DNS local
Clear-DnsClientCache
# Ver conteúdo atual do cache
Get-DnsClientCache | Select-Object Name, Type, TimeToLive | Format-Table
# Testar DNS com servidor específico
nslookup google.com 8.8.8.8
Resolve-DnsName para o domínio dos servidores internos e comparar com um DNS público (8.8.8.8).
5. Conexões TCP Ativas e Portas em Uso
# Todas as conexões TCP estabelecidas com processo
Get-NetTCPConnection | Where-Object {$_.State -eq 'Established'} |
Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort,
@{N='Process'; E={(Get-Process -Id $_.OwningProcess -EA SilentlyContinue).Name}} |
Sort-Object RemoteAddress | Format-Table -AutoSize
# Portas em escuta
netstat -ano | findstr LISTENING
# Estatísticas TCP detalhadas (retransmissões, resets, falhas)
netstat -s -p tcp
Na secção de output TCP Statistics, verificar os valores de Segments Retransmitted e Connection Failures — valores crescentes indicam problemas de rede.
6. Testar Velocidade para Partilha de Rede
# Medir velocidade de cópia para uma partilha de rede
$file = 'C:\Windows\System32\ntoskrnl.exe'
$dest = '\\servidor\partilha\teste_velocidade'
$sw = [System.Diagnostics.Stopwatch]::StartNew()
Copy-Item $file $dest -Force
$sw.Stop()
$sizeMB = (Get-Item $file).Length / 1MB
"Velocidade: $([math]::Round($sizeMB / $sw.Elapsed.TotalSeconds, 2)) MB/s"
7. TCPView — Conexões em Tempo Real
A ferramenta TCPView das Sysinternals mostra todas as conexões TCP/UDP em tempo real com o processo responsável — equivalente ao netstat -ano mas com interface gráfica e atualização automática.
Útil para identificar:
- Conexões em estado TIME_WAIT em excesso (esgotamento de portas)
- Processos com número anormal de conexões abertas
- Ligações a endereços IP suspeitos
8. Checklist — Diagnóstico de Rede
- ✅
Get-NetAdapter— algum adaptador em estado Disconnected ou com erros? - ✅
pingao gateway — latência dentro do esperado? - ✅
pathpingao destino — perda de pacotes em algum hop? - ✅
Resolve-DnsName— resolução DNS a funcionar e dentro de tempo? - ✅
netstat -s -p tcp— retransmissões e falhas de conexão? - ✅ Segments Retransmitted/sec no PerfMon — acima de 0?
- ✅ Teste de velocidade para partilha — dentro do esperado para a ligação?
