Como usar o comando Netstat

Exemplos, interruptores e moito máis

O comando netstat é un comando de símbolo de comando usado para mostrar información moi detallada sobre como a súa computadora está a comunicarse con outras computadoras ou con dispositivos de rede.

Especificamente, o comando netstat pode mostrar detalles sobre conexións de rede individuais, estatísticas de redes en xeral e de protocolo específicas e moito máis, todo o que podería axudar a resolver problemas de determinados tipos de redes.

Disponibilidade do comando Netstat

O comando netstat está dispoñible desde o símbolo do sistema na maioría das versións de Windows, incluíndo Windows 10 , Windows 8 , Windows 7 , Windows Vista , Windows XP , sistemas operativos Windows Server e algunhas versións máis antigas de Windows.

Nota: A dispoñibilidade de algúns comandos de comando netstat e outra sintaxe do comando netstat pode diferir do sistema operativo ao sistema operativo.

Sintaxe de comando Netstat

netstat [ -a ] [ -b ] [ -e ] [ -f ] [ -n ] [ -o ] [ -p protocolo ] [ -r ] [ -s ] [ -t ] [ -x ] [ -y ] [ tempo_intervalo ] [ /? ]

Consello: vexa como ler a sintaxe do comando se non está seguro de como ler a sintaxe do comando netstat como se mostra arriba.

Execute o comando netstat por si só para mostrar unha lista relativamente sinxela de todas as conexións TCP activas que, para cada unha, mostrarán a dirección IP local (a súa computadora), o enderezo IP estranxeiro (a outra computadora ou dispositivo de rede), xunto cos seus respectivos números de porto, así como o estado TCP.

-a = Este interruptor mostra conexións TCP activas, conexións TCP co estado de escoita, así como os portos UDP que se están escoitando.

-b = Este switch netstat é moi semellante ao switch -o que se enumera a continuación, pero no canto de mostrar o PID, mostrará o nome do ficheiro real do proceso. Usar -b máis de -o pode parecer que está a aforrar un ou dous pasos pero o seu uso pode ás veces aumentar moito o tempo que tarda netstat para executar completamente.

-e = Use este interruptor co comando netstat para mostrar estatísticas sobre a súa conexión de rede. Estes datos inclúen bytes, paquetes unicast, paquetes non-unidastas, descartes, erros e protocolos descoñecidos recibidos e enviados desde que se estableceu a conexión.

-f = O selo -f forzará o comando netstat para mostrar o nome de dominio totalmente cualificado (FQDN) para cada dirección IP externa cando sexa posible.

-n = Use o botón -n para evitar que netstat intente determinar nomes de host para enderezos IP externos. Dependendo das conexións de rede actuais, usar este cambio podería reducir considerablemente o tempo que tarda en executar completamente netstat.

-o = Unha opción útil para moitas tarefas de resolución de problemas; o switch -o mostra o identificador de proceso (PID) asociado a cada conexión mostrada. Vexa o exemplo a continuación para saber máis sobre o uso de netstat -o .

-p = Use o botón -p para mostrar conexións ou estatísticas só para un protocolo particular. Non pode definir máis dun protocolo á vez, nin pode executar netstat con -p sen definir un protocolo .

protocol = Ao especificar un protocolo coa opción -p , pode usar tcp , udp , tcpv6 ou udpv6 . Se usa -s con -p para ver estatísticas por protocolo, pode usar icmp , ip , icmpv6 ou ipv6 ademais dos catro primeiros que mencionei.

-r = Executar netstat con -r para mostrar a táboa de enrutamento IP. Isto é o mesmo que usar o comando ruta para executar a impresión da ruta .

-s = A opción -s pódese usar co comando netstat para mostrar estatísticas detalladas por protocolo. Pode limitar as estatísticas mostradas a un protocolo particular empregando a opción -s e especificando ese protocolo , pero asegúrese de usar -s antes do protocolo -p ao usar os interruptores xuntos.

-t = Use o interruptor -t para mostrar o actual estado de descarga de cheminea TCP no lugar do estado TCP normalmente amosado.

-x = Use a opción -x para mostrar todos os oíntes de NetworkDirect, conexións e puntos de vista compartidos.

-y = O switch -y pode usarse para mostrar a plantilla de conexión TCP para toda a conexión. Non podes usar -e con ningunha outra opción de netstat.

time_interval = Este é o tempo, en segundos, que desexa que o comando netstat se execute de novo automaticamente, deixándose só cando se usa Ctrl-C para finalizar o ciclo.

/? = Use o botón de axuda para mostrar detalles sobre varias opcións do comando netstat.

Consello: Fai que toda a información de netstat na liña de comando sexa máis sinxela traballando ao enviar o que ves na pantalla a un ficheiro de texto usando un operador de redirección . Vexa como redirixir a saída de comandos a un ficheiro para obter instrucións completas.

Exemplos de comando Netstat

netstat -f

Neste primeiro exemplo, executou netstat para mostrar todas as conexións TCP activas. Non obstante, quero ver as computadoras con que estou conectado en formato FQDN [ -f ] en lugar dun simple enderezo IP.

Aquí tes un exemplo do que podes ver:

Conexións activas Proto Enderezo local Enderezo externo Estado 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 ESTABLECIDO 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 ESTABLECIDO TCP [:: 1] : 49226 VM-Windows-7: icslap ESTABLECIDO

Como podes ver, tiña 11 conexións TCP activas no momento en que executaba netstat. O único protocolo (na columna Proto ) listado é o TCP, o que se esperaba porque non usei -a .

Tamén podes ver tres conxuntos de enderezos IP na columna Enderezo local : a miña dirección IP real de 192.168.1.14 e as versións IPv4 e IPv6 dos meus enderezos de loopback , xunto co porto que cada conexión está a usar. A columna de Asistencia Externa lista a FQDN ( 75.125.212.75 non se resolveu por algún motivo) xunto con ese porto tamén.

Finalmente, a columna Estado enumera o estado TCP desta conexión particular.

netstat -o

Neste exemplo, quero executar netstat normalmente polo que só mostra conexións TCP activas, pero tamén quero ver o identificador de proceso correspondente [ -o ] para cada conexión, así que podo determinar que programa iniciado en cada computadora.

Vexa o que mostraba o meu ordenador:

Conexións activas Proto Enderezo local Dirección externa Estado 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

Probablemente notaste a nova columna PID . Neste caso, os PID son todos iguais, o que significa que o mesmo programa no meu computador abriu estas conexións.

Para determinar que programa está representado polo PID de 2948 no meu computador, todo o que teño que facer é abrir o Xestor de tarefas , facer clic na pestana Procesos e observar o nome da imaxe que se atopa ao lado do PID que estou buscando na columna PID . 1

Usar o comando netstat coa opción -o pode ser moi útil ao rastrexar o programa que está a usar unha parte moi grande do seu ancho de banda . Tamén pode axudar a localizar o destino onde algún tipo de malware , ou incluso un software doutro xeito lexítimo, podería estar enviando información sen o seu permiso.

Nota: Aínda que este e o exemplo anterior executáronse na mesma computadora e dentro dun minuto o outro, pode ver que a lista de conexións TCP activas é considerablemente diferente. Isto ocorre porque o computador está constantemente conectándose e desconectándose de outros dispositivos na súa rede e por internet.

netstat -s -p tcp -f

Neste terceiro exemplo, quero ver as estatísticas específicas do protocolo [ -s ] pero non todas elas, só as estatísticas TCP [ -p tcp ]. Tamén quero que as direccións estranxeiras se mostren en formato FQDN [ -f ].

Isto é o que o comando netstat, como se mostra arriba, producido no meu computador:

Estadísticas de TCP para IPv4 Active Opens = 77 Abre o Pasivo = 21 Intentos de conexión fallou = 2 Restablecer conexións = 25 Conexións actuais = 5 Segmentos recibidos = 7313 Segmentos enviados = 4824 Segmentos retransmitidos = 5 Conexións activas Proto Enderezo local Enderezo externo Estado TCP 127.0.0.1: 2869 VM-Windows-7: 49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7: 49238 ESTABLECIDO TCP 127.0.0.1:49238 VM-Windows-7: icslap ESTABLECIDO 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 podes ver, aparecen varias estatísticas para o protocolo TCP, como todas as conexións TCP activas no momento.

netstat -e -t 5

Neste último exemplo, execute o comando netstat para mostrar algunhas estatísticas básicas da interface de rede [ -e ] e quería que estas estatísticas se actualicen continuamente na xanela de comando cada cinco segundos [ -t 5 ].

Vexa o que se produce na pantalla:

Estatísticas da interface recibidas enviadas por bytes 22132338 1846834 Paquetes unicast 19113 9869 Paquetes non-unidistrados 0 0 Descartes 0 0 Erros 0 0 Protocolos descoñecidos 0 Estatísticas da interface recibida bytes enviados 22134630 1846834 Paquetes unicast 19128 9869 Paquetes non-unicast 0 0 Descartes 0 0 Erros 0 0 Descoñecidos protocolos 0 ^ C

Podes ver varias pezas de información, que podes ver aquí e que aparece na sintaxe -e anterior.

Eu só deixo que o comando netstat executa automaticamente un tempo extra, como podes ver nas dúas táboas do resultado. Observe a ^ C na parte inferior, indicando que usei o comando Ctrl-C abortar para deter o reinicio do comando.

Comandos relacionados con Netstat

O comando netstat úsase a miúdo con outros comandos de ordes de comandos relacionados con redes como nslookup, ping , tracert , ipconfig e outros.

[1] Pode que deba engadir manualmente a columna PID ao Xestor de tarefas. Podes facelo seleccionando a caixa de verificación "PID (Process Identifier)" desde Ver -> Seleccionar columnas no Xestor de tarefas. Tamén pode ter que facer clic no botón "Mostrar procesos de todos os usuarios" na pestana Procesos se o PID que está a buscar non aparece na lista.