O comando netstat, que significa estatísticas de rede, é um comando Prompt de Comando usado para exibir informações muito detalhadas sobre como seu computador está se comunicando com outros computadores ou dispositivos de rede.
Especificamente, o comando netstat pode mostrar detalhes sobre conexões de rede individuais, estatísticas de rede gerais e específicas de protocolo e muito mais, tudo o que pode ajudar a solucionar certos tipos de problemas de rede.
Disponibilidade do comando Netstat
O comando netstat está disponível no Prompt de Comando na maioria das versões do Windows, incluindo Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, sistemas operacionais Windows Server e também algumas versões mais antigas do Windows.
Netstat é um comando de plataforma cruzada, o que significa que também está disponível em outros sistemas operacionais como macOS e Linux.
A disponibilidade de certas opções de comando netstat e outra sintaxe de comando netstat pode variar de sistema operacional para sistema operacional.
Sintaxe do comando Netstat
netstat [ -a ] [ -b ] [ -e ] [ -f ] [ -n ] [ -o ] [ -p protocol ] [ -r ] [ -s ] [ -t ] [ -x ] [ -y ] [ intervalo_de_hora ] [ /? ]
Lista de Comandos Netstat | |
---|---|
Opção | Explicação |
netstat | Execute o comando netstat sozinho para mostrar uma lista relativamente simples de todas as conexões TCP ativas que, para cada uma, mostrará o endereço IP local (seu computador), o endereço IP estrangeiro (o outro computador ou dispositivo de rede), junto com seus respectivos números de porta, bem como o estado do TCP. |
-a | Essa opção exibe conexões TCP ativas, conexões TCP com o estado de escuta, bem como portas UDP que estão sendo ouvidas. |
-b | Essa opção netstat é muito semelhante à opção -o listada abaixo, mas em vez de exibir o PID, exibirá o nome do arquivo real do processo. Usar -b sobre -o pode parecer que está economizando uma ou duas etapas, mas usá-lo às vezes pode estender muito o tempo que o netstat leva para ser executado completamente. |
-e | Use esta opção com o comando netstat para mostrar estatísticas sobre sua conexão de rede. Esses dados incluem bytes, pacotes unicast, pacotes não unicast, descartes, erros e protocolos desconhecidos recebidos e enviados desde que a conexão foi estabelecida. |
-f | A opção -f forçará o comando netstat a exibir o nome de domínio totalmente qualificado (FQDN) para cada endereço IP estrangeiro, quando possível. |
-n | Use a opção -n para evitar que o netstat tente determinar nomes de host para endereços IP estrangeiros. Dependendo de suas conexões de rede atuais, o uso dessa opção pode reduzir consideravelmente o tempo que o netstat leva para ser executado totalmente. |
-o | Uma opção útil para muitas tarefas de solução de problemas, a opção -o exibe o identificador de processo (PID) associado a cada conexão exibida. Veja o exemplo abaixo para mais informações sobre como usar netstat -o . |
-p | Use a opção -p para mostrar conexões ou estatísticas apenas para um protocolo específico. Você não pode definir mais de um protocolo ao mesmo tempo, nem pode executar netstat com -p sem definir um protocolo. |
protocol | Ao especificar um protocolo com a opção -p , você pode usar tcp, udp, tcpv6 ou udpv6. Se você usar -s com -p para exibir estatísticas por protocolo, poderá usar icmp, ip, icmpv6 ou ipv6 além dos quatro primeiros que mencionei. |
-r | Execute netstat com -r para mostrar a tabela de roteamento IP. É o mesmo que usar o comando route para executar a impressão da rota . |
-s | A opção -s pode ser usada com o comando netstat para mostrar estatísticas detalhadas por protocolo. Você pode limitar as estatísticas mostradas a um protocolo específico usando a opção -s e especificando esse protocolo , mas certifique-se de usar -s antes do protocolo -p ao usar as opções juntas. |
-t | Use a opção -t para mostrar o estado atual de descarregamento da chaminé do TCP no lugar do estado do TCP normalmente exibido. |
-x | Use a opção -x para mostrar todos os ouvintes, conexões e pontos de extremidade compartilhados do NetworkDirect. |
-y | A opção -y pode ser usada para mostrar o modelo de conexão TCP para todas as conexões. Você não pode usar -y com nenhuma outra opção netstat. |
time_in terval | Este é o tempo, em segundos, que você gostaria que o comando netstat fosse reexecutado automaticamente, parando apenas quando você usar Ctrl-C para encerrar o loop. |
/? | Use a opção de ajuda para mostrar detalhes sobre as várias opções do comando netstat. |
Torne todas as informações do netstat na linha de comando mais fáceis de trabalhar, enviando o que você vê na tela para um arquivo de texto usando um operador de redirecionamento.
Exemplos de comando Netstat
netstat -f
Neste primeiro exemplo, executamos netstat para mostrar todas as conexões TCP ativas. No entanto, queremos ver os computadores aos quais estamos conectados no formato FQDN [ -f ] em vez de um endereço IP simples.
Aqui está um exemplo do que você pode ver:
Active Connections Proto Local Address Foreign Address State TCP 127.0.0.1:5357 VM-Windows-7:49229 TIME_WAIT TCP 127.0.0.1:49225 VM-Windows-7:12080 TIME_WAIT TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49230 TIM-PC:wsd TIME_WAIT TCP 192.168.1.14:49231 TIM-PC:icslap ESTABLISHED TCP 192.168.1.14:49232 TIM-PC:netbios-ssn TIME_WAIT TCP 192.168.1.14:49233 TIM-PC:netbios-ssn TIME_WAIT TCP [::1]:2869 VM-Windows-7:49226 ESTABLISHED TCP [::1]:49226 VM-Windows-7:icslap ESTABLISHED
Como você pode ver, havia 11 conexões TCP ativas no momento em que netstat foi executado neste exemplo. O único protocolo (na coluna Proto ) listado é o TCP, o que era esperado porque não usamos -a .
Você também pode ver três conjuntos de endereços IP na coluna Endereço local – o endereço IP real de 192.168.1.14 e as versões IPv4 e IPv6 dos endereços de loopback, junto com a porta que cada conexão está usando. A coluna Foreign Address lista o FQDN ( 75.125.212.75 não foi resolvido por algum motivo) junto com essa porta também.
Finalmente, a coluna Estado lista o estado do TCP dessa conexão específica.
netstat -o
Neste exemplo, netstat será executado normalmente, então ele mostra apenas conexões TCP ativas, mas também queremos ver o identificador de processo correspondente [ -o ] para cada conexão para que possamos determinar qual programa no computador iniciou cada uma.
Aqui está o que o computador exibiu:
Active Connections Proto Local Address Foreign Address State PID TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948 TCP 192.168.1.14:49196 a795sm:http CLOSE_WAIT 2948 TCP 192.168.1.14:49197 a795sm:http CLOSE_WAIT 2948
Você provavelmente notou a nova coluna PID . Neste caso, os PIDs são todos iguais, o que significa que o mesmo programa no computador abriu essas conexões.
Para determinar qual programa é representado pelo PID de 2948 no computador, tudo o que você precisa fazer é abrir o Gerenciador de Tarefas , selecionar a guia Processos e observar o Nome da Imagem listado próximo ao PID que estamos procurando na coluna PID .
Usar o comando netstat com a opção -o pode ser muito útil ao rastrear qual programa está usando uma parte muito grande de sua largura de banda. Ele também pode ajudar a localizar o destino para onde algum tipo de malware, ou mesmo um software legítimo, pode estar enviando informações sem sua permissão.
Embora este e o exemplo anterior tenham sido executados no mesmo computador, e com apenas um minuto de diferença, você pode ver que a lista de conexões TCP ativas é consideravelmente diferente. Isso ocorre porque seu computador está constantemente se conectando e se desconectando de vários outros dispositivos em sua rede e pela Internet.
netstat -0 | findstr 28604
O exemplo acima é semelhante ao que já vimos, mas em vez de exibir todas as conexões, estamos dizendo ao comando netstat para mostrar apenas as conexões que estão usando um PID específico, 28604 neste exemplo.
Um comando semelhante pode ser usado para filtrar as conexões com um estado CLOSE_WAIT, substituindo o PID por ESTABLISHED .
netstat -s -p tcp -f
Neste exemplo, queremos ver as estatísticas específicas do protocolo [ -s ], mas não todas, apenas estatísticas TCP [ -p tcp ]. Também queremos que os endereços externos sejam exibidos no formato FQDN [ -f ].
Isso é o que o comando netstat, conforme mostrado acima, produziu no computador de exemplo:
TCP Statistics for IPv4 Active Opens = 77 Passive Opens = 21 Failed Connection Attempts = 2 Reset Connections = 25 Current Connections = 5 Segments Received = 7313 Segments Sent = 4824 Segments Retransmitted = 5 Active Connections Proto Local Address Foreign Address State TCP 127.0.0.1:2869 VM-Windows-7:49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7:49238 ESTABLISHED TCP 127.0.0.1:49238 VM-Windows-7:icslap ESTABLISHED TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT
Como você pode ver, várias estatísticas para o protocolo TCP são exibidas, assim como todas as conexões TCP ativas no momento.
netstat -e -t 5
Neste exemplo final, o comando netstat é executado para mostrar algumas estatísticas básicas da interface de rede [ -e ] e para que essas estatísticas sejam continuamente atualizadas na janela de comando a cada cinco segundos [ -t 5 ].
Aqui está o que é produzido na tela:
Estatísticas de interface Recebidas Bytes enviados 22132338 1846834 Pacotes Unicast 19113 9869 Pacotes não unicast 0 0 Descartes 0 0 Erros 0 0 Protocolos desconhecidos 0 Estatísticas da interface Bytes enviados recebidos 22134630 1846834 Pacotes Unicast 19128 9869 Pacotes não unicast 0 0 Descartes 0 0 Erros 0 0 Desconhecido protocolos 0 ^ C
Várias informações, que você pode ver aqui e que listamos na sintaxe -e acima, são exibidas.
O comando netstat foi executado automaticamente apenas uma vez extra, como você pode ver pelas duas tabelas no resultado. Observe o ^ C na parte inferior, indicando que o comando Ctrl + C abort foi usado para interromper a reexecução do comando.
Comandos relacionados
O comando netstat é frequentemente usado com outros comandos de Prompt de Comando relacionados à rede, como nslookup , ping , tracert, ipconfig e outros.