![tcpdump의 출력에서 TCP 패킷 [P.] 플래그는 무엇을 의미합니까?](https://rvso.com/image/1596169/tcpdump%EC%9D%98%20%EC%B6%9C%EB%A0%A5%EC%97%90%EC%84%9C%20%E2%80%8B%E2%80%8BTCP%20%ED%8C%A8%ED%82%B7%20%5BP.%5D%20%ED%94%8C%EB%9E%98%EA%B7%B8%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9D%84%20%EC%9D%98%EB%AF%B8%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
IP xxxx가 TCP 패킷의 [P.] 플래그를 사용하여 IP zzzz에 연결되는 경우 이 [P.] 플래그는 정확히 무엇을 의미합니까? xxxx가 일부 데이터를 zzzz로 보낸다는 뜻인가요?
답변1
이 [P.] 깃발은 정확히 무엇입니까?
PUSH 플래그입니다.
Tcpflags는 S(SYN), F(FIN), P(PUSH), R(RST), U(URG), W(ECN CWR), E(ECN-Echo) 또는 `.'의 조합입니다. (ACK) 또는 플래그가 설정되지 않은 경우 `none'입니다.
푸시 기능과 PUSH 플래그의 목적은 보내는 사용자에서 받는 사용자에게 데이터를 푸시하는 것입니다. 녹음 서비스를 제공하지 않습니다.
푸시 기능과 TCP/사용자 인터페이스를 통과하는 데이터 버퍼의 사용 사이에는 결합이 있습니다. PUSH 플래그가 수신 사용자의 버퍼에 배치된 데이터와 연관될 때마다 버퍼가 채워지지 않은 경우에도 처리를 위해 버퍼가 사용자에게 반환됩니다. PUSH가 표시되기 전에 사용자의 버퍼를 채우는 데이터가 도착하면 해당 데이터는 버퍼 크기 단위로 사용자에게 전달됩니다.
원천[PSH,ACK] Wireshark 캡처 - Wireshark Q&A
PSH 및 PUSH 기능
데이터를 보내면
TCP
버퍼링됩니다. 따라서 캐릭터를 보내면 즉시 전송되지는 않지만 더 많은 것이 있는지 기다려 보세요. 그러나 아마도 당신은 그것이 바로 진행되기를 원할 것입니다. 이것은 PUSH 기능이 들어오는 곳입니다. 데이터를 PUSH하면 TCP는 즉시 세그먼트(또는 몇 개의 세그먼트)를 생성하고푸시그들을.하지만 이야기는 여기서 끝나지 않습니다. 피어 TCP가 데이터를 수신하면 자연스럽게 버퍼링됩니다.각 바이트마다 애플리케이션을 방해하지 않습니다.. 여기에서
PSH
플래그가 시작됩니다. 수신 TCP가 PSH 플래그를 보면 즉시푸시애플리케이션에 대한 데이터입니다.플래그를 설정하는 API가 없습니다
PSH
. 일반적으로 버퍼를 비울 때 커널에 의해 설정됩니다. TCP/IP에서 설명됨:이 플래그는 일반적으로 패킷을 보내는 측의 버퍼가 패킷을 보내는 것과 관련하여 비워졌음을 나타내는 데 사용됩니다. 즉, PSH 비트 필드가 설정된 패킷이 보낸 사람을 떠났을 때 보낸 사람은 더 이상 보낼 데이터가 없었습니다.
그러나 Stevens는 다음과 같이 말합니다.
푸시(수신자는 가능한 한 빨리 이 데이터를 애플리케이션에 전달해야 합니다.안정적으로 구현되거나 사용되지 않음)