Ich bin verantwortlich für einige eingebettete Software, die mit einer proprietären TCP-Schnittstelle des Kunden arbeiten muss (auch eingebettet, aber unter einem bekannten und angesehenen RTOS), aber es kommt nicht durch den Drei-Wege-Handshake, obwohl die HTTP-Schnittstelle usw., alles funktioniert gut, und ich kann mit dem benutzerdefinierten Protokoll mit einem Programm auf meinem PC kommunizieren.Wer vermasselt diese TCP-Verbindung?
Betrachtet man die WireShark-Captures, initiiert seine Seite durch Senden eines SYN, ich sende ein SYN-ACK, und dann sendet er sofort eine RST, also sieht es so aus, als wäre das Problem an seinem Ende. Ist meine Analyse korrekt?
Hier ist ein typisches 3-Paket-Beispiel des Problems, mit den anonymisierten MAC-IDs (die tatsächlichen MAC-IDs sind gültig). Tut mir leid, dass ich das rohe Hex einfügen kann. Wenn jemand eine bessere Vorstellung davon hat, wie wir die WireShark-Capture einsetzen können, bin ich sicherlich zugänglich.
63 2009-06-29 13:07:49.685057 10.13.91.2 10.13.92.3 TCP 1024 > 49151 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=0 TSV=194 TSER=0
0000 f1 f1 f1 00 03 09 ab ab ab 60 10 89 08 00 45 00
0010 00 3c 00 68 40 00 40 06 6f 35 0a 0d 5b 02 0a 0d
0020 5c 03 04 00 bf ff 7d b3 81 44 00 00 00 00 a0 02
0030 20 00 9c 2f 00 00 02 04 05 b4 01 03 03 00 01 01
0040 08 0a 00 00 00 c2 00 00 00 00
64 2009-06-29 13:07:49.685375 10.13.92.3 10.13.91.2 TCP 49151 > 1024 [SYN, ACK] Seq=0 Ack=1 Win=1460 Len=0
0000 ab ab ab 60 10 89 f1 f1 f1 00 03 09 08 00 45 00
0010 00 28 00 02 00 00 64 06 8b af 0a 0d 5c 03 0a 0d
0020 5b 02 bf ff 04 00 d4 ff ff ff 7d b3 81 45 50 12
0030 05 b4 47 07 00 00 00 00 00 00 00 00
65 2009-06-29 13:07:49.685549 10.13.91.2 10.13.92.3 TCP 1024 > 49151 [RST] Seq=1 Win=0 Len=0
0000 f1 f1 f1 00 03 09 ab ab ab 60 10 89 08 00 45 00
0010 00 28 00 6a 00 00 40 06 af 47 0a 0d 5b 02 0a 0d
0020 5c 03 04 00 bf ff 7d b3 81 45 00 00 00 00 50 04
0030 00 00 21 c9 00 00 00 00 00 00 00 00
Sie konnten die Wireshark Capture-Datei auf einige Web-Server stellen für uns Download. –