【发布时间】:2009-07-01 00:30:36
【问题描述】:
我负责一些必须与客户的专有 TCP 接口配合使用的嵌入式软件(也是嵌入式的,但在知名且备受推崇的 RTOS 下运行),但它无法通过三次握手,即使HTTP 接口等一切正常,我可以使用自定义协议与我的 PC 上运行的程序进行通信。
看WireShark抓包,他这边先发SYN,我发SYN-ACK,然后他马上发RST,看来问题出在他这边了。我的分析正确吗?
这是一个典型的三包问题示例,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
【问题讨论】:
-
您可以将 WireShark 捕获文件放在某个 Web 服务器上供我们下载。