Win7、RDP、TLS 握手:“更改密码规范”数据包在路由器上丢失。Win10 正常运行

Win7、RDP、TLS 握手:“更改密码规范”数据包在路由器上丢失。Win10 正常运行

首先:我把这篇文章发在了 networkengineering 上,但有人建议我在这里发,因为这篇文章因为太过以应用程序为中心而被搁置,因为与主题无关。我不这么认为,因为这里发生的一切都发生在一个活跃的中间网络设备上——路由器。

我们正在尝试建立与外部站点的 RDP 连接。它适用于来自任意网络(例如 UMTS 连接)的 Windows 7 和 Windows 10 客户端,但在我们的网络中只有 Windows 10 客户端可以工作。

我们捕获了网关上的连接建立/尝试(内部和外部接口,Windows 7 和 10),并注意到 DTLSv1 数据包(信息:“更改密码规范”)在内部和外部接口“之间”的网关上消失 - 但仅限于 Windows 7 客户端。当 Windows 10 客户端尝试建立连接时,数据包会出现在内部和外部接口上,并且连接建立成功。

我们的网关是带有 IOS 15.2 的 Cisco 1921/K9。

我们已经尝试过的:

以下是捕获的内容:

捕获:网关内部接口,Windows 7:

No. Source          Destination     Protocol Length Info
 1  10.128.0.44     xxx.xx.xx.xxx   UDP      205    50625 → 15002 Len=163
 2  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 102    Hello Verify Request
 3  10.128.0.44     xxx.xx.xx.xxx   DTLSv1.0 211    Client Hello
 4  xxx.xx.xx.xxx   10.128.0.44     TCP      192    15001 → 49229 [PSH, ACK] Seq=1 Ack=1 Win=1024 Len=138
 5  xxx.xx.xx.xxx   10.128.0.44     TCP      192    15001 → 49229 [PSH, ACK] Seq=139 Ack=1 Win=1024 Len=138
 6  10.128.0.44     xxx.xx.xx.xxx   TCP      60     49229 → 15001 [ACK] Seq=1 Ack=277 Win=256 Len=0
 7  xxx.xx.xx.xxx   10.128.0.44     TCP      60     15001 → 49230 [ACK] Seq=1 Ack=1 Win=1020 Len=0
 8  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 148    Server Hello
 9  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 1138   Certificate (Fragment)
10  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 1138   Certificate (Fragment)
11  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 984    Certificate (Reassembled)
12  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 394    Server Key Exchange
13  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 73     Certificate Request
14  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 67     Server Hello Done
15  xxx.xx.xx.xxx   10.128.0.44     TCP      192    15001 → 49229 [PSH, ACK] Seq=277 Ack=1 Win=1024 Len=138
16  xxx.xx.xx.xxx   10.128.0.44     TCP      192    15001 → 49229 [PSH, ACK] Seq=415 Ack=1 Win=1024 Len=138
17  10.128.0.44     xxx.xx.xx.xxx   TCP      60     49229 → 15001 [ACK] Seq=1 Ack=553 Win=255 Len=0
18  10.128.0.44     xxx.xx.xx.xxx   DTLSv1.0 148    Certificate, Client Key Exchange
19  10.128.0.44     xxx.xx.xx.xxx   DTLSv1.0 60     Change Cipher Spec
20  10.128.0.44     xxx.xx.xx.xxx   DTLSv1.0 119    Encrypted Handshake Message
21  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 60     Change Cipher Spec
22  xxx.xx.xx.xxx   10.128.0.44     DTLSv1.0 119    Encrypted Handshake Message
23  xxx.xx.xx.xxx   10.128.0.44     TCP      192    15001 → 49229 [PSH, ACK] Seq=553 Ack=1 Win=1024 Len=138
24  xxx.xx.xx.xxx   10.128.0.44     TCP      1434   15001 → 49229 [ACK] Seq=691 Ack=1 Win=1024 Len=1380
25  xxx.xx.xx.xxx   10.128.0.44     TCP      1434   15001 → 49229 [ACK] Seq=2071 Ack=1 Win=1024 Len=1380
26  xxx.xx.xx.xxx   10.128.0.44     TCP      1288   15001 → 49229 [PSH, ACK] Seq=3451 Ack=1 Win=1024 Len=1234
27  10.128.0.44     xxx.xx.xx.xxx   TCP      60     49229 → 15001 [ACK] Seq=1 Ack=2071 Win=258 Len=0
28  10.128.0.44     xxx.xx.xx.xxx   TCP      60     49229 → 15001 [ACK] Seq=1 Ack=4685 Win=258 Len=0
29  xxx.xx.xx.xxx   10.128.0.44     TCP      176    15001 → 49229 [PSH, ACK] Seq=4685 Ack=1 Win=1024 Len=122
30  10.128.0.44     xxx.xx.xx.xxx   TCP      144    49230 → 15001 [PSH, ACK] Seq=1 Ack=1 Win=254 Len=90
31  10.128.0.44     xxx.xx.xx.xxx   DTLSv1.0 1239   Application Data

捕获:网关外部接口,Windows 7:

No. Source     Destination   Protocol Length Info
 1  our-site   rem-site      UDP      205    56560 → 15002 Len=163
 2  rem-site   our-site      TCP      192    15001 → 49222 [PSH, ACK] Seq=1 Ack=1 Win=64860 Len=138
 3  rem-site   our-site      DTLSv1.0 102    Hello Verify Request
 4  rem-site   our-site      TCP      192    15001 → 49222 [PSH, ACK] Seq=139 Ack=1 Win=64860 Len=138
 5  rem-site   our-site      TCP      192    15001 → 49222 [PSH, ACK] Seq=277 Ack=1 Win=64860 Len=138
 6  our-site   rem-site      TCP      60     49222 → 15001 [ACK] Seq=1 Ack=277 Win=64292 Len=0
 7  our-site   rem-site      DTLSv1.0 211    Client Hello
 8  rem-site   our-site      TCP      192    15001 → 49222 [PSH, ACK] Seq=415 Ack=1 Win=64860 Len=138
 9  rem-site   our-site      TCP      192    15001 → 49222 [PSH, ACK] Seq=553 Ack=1 Win=64860 Len=138
10  our-site   rem-site      TCP      60     49222 → 15001 [ACK] Seq=1 Ack=553 Win=64016 Len=0
11  rem-site   our-site      TCP      60     15001 → 49223 [ACK] Seq=1 Ack=1 Win=63886 Len=0
12  rem-site   our-site      DTLSv1.0 148    Server Hello
13  rem-site   our-site      DTLSv1.0 1138   Certificate (Fragment)
14  rem-site   our-site      DTLSv1.0 1138   Certificate (Fragment)
15  rem-site   our-site      DTLSv1.0 984    Certificate (Reassembled)
16  rem-site   our-site      DTLSv1.0 394    Server Key Exchange
17  rem-site   our-site      DTLSv1.0 73     Certificate Request
18  rem-site   our-site      DTLSv1.0 67     Server Hello Done
19  rem-site   our-site      TCP      192    15001 → 49222 [PSH, ACK] Seq=691 Ack=1 Win=64860 Len=138
20  rem-site   our-site      TCP      1434   15001 → 49222 [ACK] Seq=829 Ack=1 Win=64860 Len=1380
21  rem-site   our-site      TCP      1434   15001 → 49222 [ACK] Seq=2209 Ack=1 Win=64860 Len=1380
22  rem-site   our-site      TCP      1336   15001 → 49222 [PSH, ACK] Seq=3589 Ack=1 Win=64860 Len=1282
23  our-site   rem-site      TCP      60     49222 → 15001 [ACK] Seq=1 Ack=829 Win=63740 Len=0
24  our-site   rem-site      TCP      60     49222 → 15001 [ACK] Seq=1 Ack=3589 Win=64860 Len=0
25  our-site   rem-site      TCP      144    49223 → 15001 [PSH, ACK] Seq=1 Ack=1 Win=63683 Len=90
26  rem-site   our-site      TCP      128    15001 → 49222 [PSH, ACK] Seq=4871 Ack=1 Win=64860 Len=74
27  our-site   rem-site      TCP      60     49222 → 15001 [ACK] Seq=1 Ack=4945 Win=63504 Len=0
28  our-site   rem-site      DTLSv1.0 148    Certificate, Client Key Exchange
29  rem-site   our-site      TCP      60     15001 → 49223 [ACK] Seq=1 Ack=91 Win=63796 Len=0
30  rem-site   our-site      DTLSv1.0 148    Server Hello
31  rem-site   our-site      DTLSv1.0 1138   Certificate[Reassembly error, protocol DTLS: New fragment overlaps old data (retransmission?)]
32  rem-site   our-site      DTLSv1.0 1138   Certificate[Reassembly error, protocol DTLS: New fragment overlaps old data (retransmission?)]
33  rem-site   our-site      DTLSv1.0 984    Certificate[Reassembly error, protocol DTLS: New fragment overlaps old data (retransmission?)]
34  rem-site   our-site      DTLSv1.0 394    Server Key Exchange
35  rem-site   our-site      DTLSv1.0 73     Certificate Request
36  rem-site   our-site      DTLSv1.0 67     Server Hello Done
37  rem-site   our-site      DTLSv1.0 148    Server Hello
38  rem-site   our-site      DTLSv1.0 1138   Certificate[Reassembly error, protocol DTLS: New fragment overlaps old data (retransmission?)]
39  rem-site   our-site      DTLSv1.0 1138   Certificate[Reassembly error, protocol DTLS: New fragment overlaps old data (retransmission?)]
40  rem-site   our-site      DTLSv1.0 984    Certificate[Reassembly error, protocol DTLS: New fragment overlaps old data (retransmission?)]
41  rem-site   our-site      DTLSv1.0 394    Server Key Exchange
42  rem-site   our-site      DTLSv1.0 73     Certificate Request
43  rem-site   our-site      DTLSv1.0 67     Server Hello Done
44  rem-site   our-site      DTLSv1.0 148    Server Hello

可以看到,“Change Cipher Spec” 从未到达外部接口。“Server Hello” 一直重复,直到服务器发送最终的 RST(此处省略)。

出于完整性考虑,以下是通过相同网络/路径从 Windows 10 客户端尝试进行相同连接时捕获的图像。以下图像显示连接成功:

捕获:网关内部接口,Windows 10:

No.  Source         Destination     Protocol Length Info
 1   10.128.0.1     xxx.xx.xx.xxx   UDP      215    51603 → 15002 Len=173
 2   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 102    Hello Verify Request
 3   10.128.0.1     xxx.xx.xx.xxx   DTLSv1.0 221    Client Hello
 4   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 148    Server Hello
 5   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 1138   Certificate (Fragment)
 6   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 1138   Certificate (Fragment)
 7   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 984    Certificate (Reassembled)
 8   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 361    Server Key Exchange
 9   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 73     Certificate Request
10   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 67     Server Hello Done
11   xxx.xx.xx.xxx  10.128.0.1      TCP      598    15001 → 62695 [PSH, ACK] Seq=1 Ack=1 Win=1023 Len=544
12   10.128.0.1     xxx.xx.xx.xxx   DTLSv1.0 115    Certificate, Client Key Exchange
13   10.128.0.1     xxx.xx.xx.xxx   DTLSv1.0 60     Change Cipher Spec
14   10.128.0.1     xxx.xx.xx.xxx   DTLSv1.0 119    Encrypted Handshake Message
15   10.128.0.1     xxx.xx.xx.xxx   TCP      809    62695 → 15001 [PSH, ACK] Seq=1 Ack=545 Win=1021 Len=755
16   10.128.0.1     xxx.xx.xx.xxx   TCP      164    62695 → 15001 [PSH, ACK] Seq=756 Ack=545 Win=1021 Len=110
17   10.128.0.1     xxx.xx.xx.xxx   TCP      168    62695 → 15001 [PSH, ACK] Seq=866 Ack=545 Win=1021 Len=114
18   10.128.0.1     xxx.xx.xx.xxx   TCP      168    62695 → 15001 [PSH, ACK] Seq=980 Ack=545 Win=1021 Len=114
19   10.128.0.1     xxx.xx.xx.xxx   TCP      184    62695 → 15001 [PSH, ACK] Seq=1094 Ack=545 Win=1021 Len=130
20   10.128.0.1     xxx.xx.xx.xxx   TCP      168    62695 → 15001 [PSH, ACK] Seq=1224 Ack=545 Win=1021 Len=114
21   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 60     Change Cipher Spec
22   xxx.xx.xx.xxx  10.128.0.1      DTLSv1.0 119    Encrypted Handshake Message
23   10.128.0.1     xxx.xx.xx.xxx   DTLSv1.0 1239   Application Data
24   10.128.0.1     xxx.xx.xx.xxx   DTLSv1.0 1111   Application Data
25   10.128.0.1     xxx.xx.xx.xxx   DTLSv1.0 583    Application Data

捕获:网关外部接口,Windows 10:

No. Source     Destination  Protocol Length Info
 1  our-site   rem-site     UDP      215    51875 → 15002 Len=173
 2  rem-site   our-site     TCP      160    15001 → 62569 [PSH, ACK] Seq=1 Ack=1 Win=1021 Len=106
 3  rem-site   our-site     DTLSv1.0 102    Hello Verify Request
 4  our-site   rem-site     DTLSv1.0 221    Client Hello
 5  rem-site   our-site     TCP      160    15001 → 62569 [PSH, ACK] Seq=107 Ack=1 Win=1021 Len=106
 6  rem-site   our-site     TCP      160    15001 → 62569 [PSH, ACK] Seq=213 Ack=1 Win=1021 Len=106
 7  our-site   rem-site     TCP      60     62569 → 15001 [ACK] Seq=1 Ack=319 Win=1024 Len=0
 8  rem-site   our-site     DTLSv1.0 148    Server Hello
 9  rem-site   our-site     DTLSv1.0 1138   Certificate (Fragment)
10  rem-site   our-site     DTLSv1.0 1138   Certificate (Fragment)
11  rem-site   our-site     DTLSv1.0 984    Certificate (Reassembled)
12  rem-site   our-site     DTLSv1.0 361    Server Key Exchange
13  rem-site   our-site     DTLSv1.0 73     Certificate Request
14  rem-site   our-site     DTLSv1.0 67     Server Hello Done
15  rem-site   our-site     TCP      160    15001 → 62569 [PSH, ACK] Seq=319 Ack=1 Win=1021 Len=106
16  rem-site   our-site     TCP      160    15001 → 62569 [PSH, ACK] Seq=425 Ack=1 Win=1021 Len=106
17  our-site   rem-site     TCP      60     62569 → 15001 [ACK] Seq=1 Ack=531 Win=1023 Len=0
18  our-site   rem-site     DTLSv1.0 115    Certificate, Client Key Exchange
19  our-site   rem-site     DTLSv1.0 60     Change Cipher Spec
20  our-site   rem-site     DTLSv1.0 119    Encrypted Handshake Message
21  rem-site   our-site     DTLSv1.0 60     Change Cipher Spec
22  rem-site   our-site     DTLSv1.0 119    Encrypted Handshake Message
23  our-site   rem-site     DTLSv1.0 1239   Application Data
24  our-site   rem-site     DTLSv1.0 1111   Application Data
25  our-site   rem-site     DTLSv1.0 583    Application Data

我们这里缺少什么?任何想法都值得赞赏。

相关内容