¿Qué significa el indicador del paquete TCP [P.] en la salida de tcpdump?

¿Qué significa el indicador del paquete TCP [P.] en la salida de tcpdump?

Si una IP xxxx se conecta a una IP zzzz utilizando el indicador [P.] para el paquete TCP, ¿qué significa exactamente este indicador [P.]? ¿Significa que xxxx envía algunos datos a zzzz?

Respuesta1

¿Qué es exactamente esta bandera [P.]

Es una bandera PUSH.

Tcpflags son una combinación de S (SYN), F (FIN), P (PUSH), R (RST), U (URG), W (ECN CWR), E (ECN-Echo) o `.' (ACK), o "ninguno" si no se establecen indicadores.

FuentePágina de manual de TCPDUMP

El propósito de la función push y el indicador PUSH es enviar datos desde el usuario emisor al usuario receptor. No proporciona un servicio de registro.

Existe un acoplamiento entre la función push y el uso de buffers de datos que cruzan la interfaz TCP/usuario. Cada vez que se asocia un indicador PUSH con datos colocados en el búfer del usuario receptor, el búfer se devuelve al usuario para su procesamiento incluso si el búfer no está lleno. Si llegan datos que llenan el búfer del usuario antes de que se vea un PUSH, los datos se pasan al usuario en unidades de tamaño de búfer.

Fuente[PSH,ACK] captura de Wireshark - Preguntas y respuestas de Wireshark

PSH y la función PUSH

Cuando envías datos, los TCPalmacenas en buffer. Entonces, si envías un personaje, no lo enviará inmediatamente, sino que espera a ver si tienes más. Pero tal vez quieras que vaya directo al cable: aquí es donde entra en juego la función PUSH. Si PUSH datos, tu TCP creará inmediatamente un segmento (o algunos segmentos) yempujara ellos.

Pero la historia no termina aquí. Cuando el TCP del mismo nivel recibe los datos, naturalmente los almacenará en un buffer.no perturbará la aplicación para todos y cada uno de los bytes. Aquí es donde PSHentra en juego la bandera. Si un TCP receptor ve la bandera PSH, lo hará inmediatamente.empujarlos datos a la aplicación.

No hay API para configurar la PSHbandera. Normalmente lo establece el kernel cuando vacía el búfer. De TCP/IP ilustrado:

Esta bandera se usa convencionalmente para indicar que el buffer en el lado que envía el paquete se ha vaciado junto con el envío del paquete. En otras palabras, cuando el paquete con el campo de bits PSH configurado salió del remitente, éste no tenía más datos para enviar.

Pero tenga en cuenta que Stevens también dice:

Push (el receptor debe pasar estos datos a la aplicación lo antes posible—no implementado o utilizado de manera confiable)

FuenteDiferencia entre banderas push y urgentes en TCP, respuesta porcnicutar

información relacionada