This is our old Q&A Site. Please post any new questions and answers at


I'm having issues with 2 applications applications as follows:

  • The Client and Server establish a TCP connection with SYN / ACK exchange no problem
  • The client sends a payload to the server again without any issues as follows:
  • Client > Server [PSH,ACK] Includes Payload
  • The server gets this message (I can see it in the app log)
  • Server > Client [ACK]
  • Server > Client [POS,ACK] Not really sure what this is but seems to just contain control data
  • Server > Client [FIN, PSH, ACK] Contains Response
  • Client never gets this payload, or at least i don't see it in the logs
  • Client > Server [ACK]
  • Client > Server [FIN,ACK]
  • Server > Client [ACK]

What i would like to know is:

  1. Is it allowed to send FIN, PSH and ACK in a single packet?
  2. Does the order of the tags matter; in my example FIN is sent before the PSH by the is the client closing the connection (the order of the tages is what i see in wireshark)

asked 26 May '15, 16:27

Chris%20Thompson's gravatar image

Chris Thompson
accept rate: 0%

To the first question, yes this is allowed and normal. If it's the last data to be sent, the most efficient way to 1) acknowledge the previous data 2) indicate no new data is coming and 3) indicate that the data should be pushed to the application without any delay on upcoming data would be to set those three flags.

To the second question, the order of the flags in a single TCP packet are fixed, so there's no way to actually change the order as you say. You're just seeing the order that Wireshark analysis of set and unset flags displays, but there are nine flags in a fixed position in the "Flags" field of the TCP header, set or unset, always in the same order.

permanent link

answered 26 May '15, 18:15

Quadratic's gravatar image

accept rate: 13%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 26 May '15, 16:27

question was seen: 25,202 times

last updated: 26 May '15, 18:15

p​o​w​e​r​e​d by O​S​Q​A