Receive RST which is not found on the other side of the communication
Hi
I have communication between a Linux and windows system. Don't have info about rooters/switches/firewall between.
The communication runs perfect, but out of the blue it send a RST. I trace both sides at the same time and try to understand why I receive a RST, which is not found in the trace file of the other side:
I receive on a Linux system [RST] Seq=xxx which is not in the trace of the windows system. Under Acknowledgment number yyy I have the ExpertInfo: The acknowledgment number filed is nonzero while the ACK flag is not set.
Would be great if somebody can give some advice how to proceed.
Thanks
Beat
Example
- Everything is running normal
- Then server-socket (Linux) sends client-socket (Windows) PSH, ACK <==is expected
- 8ms later client-socket (windows) sends RST --> server-socket (Linux)
- This RST can be found only in the Linux trace. Not in the windows trace
The easiest answer to the question "try to understand why I receive a RST" is "because an intermediate node inserts it". Since you have no information on any intermediate node this is what you should seek. Easiest starting point there is probably the Windows machine firewall, virus protection, etc, etc.
Also, try installing npcap to replace WinPcap for the Windows capture and see if that exposes something extra.
Hi Jaap I added an example. Do I understand you correct: A router/switch/firewall modifies messages? I would say this is spoofing.
Router or switch not so much, but firewall or IDS could modify/insert packets to reach their objective.