networking - ejemplos - netstat-ano
¿Cómo interpreto la salida ''netstat-a''? (7)
¿Cuál es la distinción entre 0.0.0.0, 127.0.0.1 y [::]?
- 0.0.0.0 indica algo que está escuchando en todas las interfaces en la máquina.
- 127.0.0.1 indica su propia máquina.
- [::] es la versión IPv6 de 0.0.0.0
- Mi máquina también muestra *: / * para UDP, que muestra que las conexiones UDP realmente no tienen una dirección en el extranjero, ya que reciben paquetes de cualquier lugar. Esa es la naturaleza de UDP.
¿Cómo debe leerse cada parte de la dirección en el extranjero (parte1: parte2)?
Algunas cosas me parecen extrañas:
- ¿Cuál es la distinción entre 0.0.0.0, 127.0.0.1 y [::]?
- ¿Cómo debe leerse cada parte de la dirección en el extranjero (parte1: parte2)?
- ¿Qué significa un estado Time_Wait, Close_Wait?
- etc.
¿Podría alguien dar una visión general rápida de cómo interpretar estos resultados?
0.0.0.0 generalmente se refiere a cosas que se escuchan en todas las interfaces. 127.0.0.1 = localhost (solo su interfaz local) No estoy seguro acerca de [::]
TIME_WAIT significa que ambos lados han acordado cerrar y que TCP debe esperar un tiempo prescrito antes de desconectar la conexión.
CLOSE_WAIT significa que el sistema remoto ha terminado de enviar y su sistema todavía tiene que decir que ha terminado.
127.0.0.1 es su dirección de bucle también conocida como ''localhost'' si está configurada en su archivo HOSTS. Vea aquí para más información: http://en.wikipedia.org/wiki/Localhost
0.0.0.0 significa que una aplicación se ha vinculado a todas las direcciones IP utilizando un puerto específico. Información de MS aquí: http://support.microsoft.com/default.aspx?scid=kb;en-us;175952
''::'' es una abreviatura de ipv6 para ipv4 0.0.0.0.
Entiendo que la respuesta ha sido aceptada, pero aquí hay información adicional:
- Si dice
0.0.0.0
en la columna Dirección local, significa que el puerto está escuchando en todas las ''interfaces de red'' (es decir, su computadora, su (s) módem (es) y su (s) tarjeta (s) de red. - Si dice
127.0.0.1
en la columna Dirección local, significa que el puerto SÓLO está escuchando conexiones desde su PC, no desde Internet o la red. No hay peligro allí. - Si muestra su
online IP
enonline IP
en la columna Dirección local, significa que el puerto SÓLO está escuchando conexiones desde Internet. - Si muestra su
local network IP
en la columna Dirección local, significa que el puerto SÓLO está escuchando conexiones de la red local. - Dirección en el extranjero: la dirección IP y el número de puerto de la computadora remota a la que está conectado el socket. Los nombres que corresponden a la dirección IP y al puerto se muestran a menos que se especifique el parámetro -n. Si el puerto aún no está establecido, el número de puerto se muestra como un asterisco (*). (desde wikipedia)
Para aquellos que ven [::] en su salida netstat, apuesto a que su máquina está ejecutando IPv6; eso sería equivalente a 0.0.0.0, es decir, escucha en cualquier dirección IPv6.
Send-Q es la cantidad de datos enviados por la aplicación, pero aún no reconocidos por el otro lado del socket.
Recv-Q es la cantidad de datos recibidos de la NIC, pero aún no consumidos por la aplicación.
Ambas colas residen en la memoria del kernel. Hay guides para ayudarlo a ajustar estos almacenamientos intermedios del núcleo, si así lo desea. Aunque, puede encontrar que los parámetros predeterminados funcionan bastante bien.
Este enlace me ha ayudado mucho a interpretar netstat -a
Una copia de allí -
TCP Connection States
A continuación hay una breve explicación de este apretón de manos. En este contexto, el "cliente" es el interlocutor que solicita una conexión y el "servidor" es el interlocutor que acepta una conexión. Tenga en cuenta que esta notación no refleja las relaciones cliente / servidor como un principio arquitectónico.
Establecimiento de conexión
El cliente envía un mensaje SYN que contiene el puerto del servidor y el Número de secuencia inicial (ISN) del cliente al servidor (activo abierto).
El servidor devuelve su propio SYN y ACK (que consiste en el ISN +1 del cliente).
El Cliente envía un ACK (que consiste en el ISN +1 del servidor).
Desmontaje de la conexión (handshake de tres vías modificado).
El cliente envía un FIN (cierre activo). Esta es una conexión ahora semicerrada. El cliente ya no envía datos, pero aún puede recibir datos del servidor. Al recibir este FIN, el servidor ingresa un estado pasivo cerrado.
El servidor envía un ACK (que es la secuencia FIN de clientes + 1)
El servidor envía su propia FIN.
El cliente envía un ACK (que es la secuencia FIN del servidor + 1). Al recibir este ACK, el servidor cierra la conexión.
Una conexión semicerrada se puede usar para finalizar el envío de datos mientras se reciben datos. Las aplicaciones de socket pueden llamar a shutdown con el segundo argumento establecido en 1 para ingresar a este estado.
Explicaciones del estado como se muestra en Netstat:
Explicación del estado
SYN_SEND
Indica apertura activa.
SYN_RECEIVED
servidor SYN_RECEIVED
acaba de recibir SYN del cliente.
ESTABLISHED
cliente recibe el SYN del servidor y se establece la sesión.
LISTEN
Server está listo para aceptar la conexión.
NOTA: Consulte la documentación para la llamada al socket listen (). Los sockets TCP en estado de escucha no se muestran; esta es una limitación de NETSTAT. Para obtener información adicional, consulte el siguiente artículo en Microsoft Knowledge Base: 134404 NETSTAT.EXE no muestra sockets de escucha TCP FIN_WAIT_1 Indica cierre activo.
TIMED_WAIT
cliente ingresa este estado después del cierre activo.
CLOSE_WAIT
Indica cierre pasivo. El servidor acaba de recibir el primer FIN de un cliente.
FIN_WAIT_2
cliente acaba de recibir el acuse de recibo de su primer FIN del servidor.
LAST_ACK
Server se encuentra en este estado cuando envía su propia FIN.
CLOSED
servidor recibió ACK del cliente y la conexión está cerrada.