我負責一些嵌入式軟件,這些嵌入式軟件必須與客戶專用的TCP接口一起工作(也嵌入了,但是在一個衆所周知且廣受好評的RTOS下運行),但它沒有通過三次握手,即使HTTP接口等,都可以正常工作,並且可以使用自定義協議與PC上運行的程序進行通信。看着WireShark捕獲,他的身邊發送一個SYN,我發送一個SYN-ACK,然後他立即發送一個RST,所以看起來問題在他的末端。我的分析是否正確?誰在搞這個TCP連接?
下面是一個典型的三個問題的例子,MAC ID是匿名的(真實的MAC ID是有效的)。很抱歉粘貼原始十六進制,如果有人更好地瞭解如何將WireShark捕獲起來,我肯定是可以接受的。
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
你可以把一些Web服務器上Wireshark的捕獲文件爲我們下載。 – 2009-07-03 04:13:22