fix: RDP health check uses correct 19-byte X.224 packet

Yesterday's malformed packet (TPKT len=0x1b mismatch) made health check
always fail -> every enable triggered needless TermService restarts and
false 'STILL FAILING' reports (root cause of 2026-07-23 morning incident)
This commit is contained in:
hmo
2026-07-23 13:48:08 +08:00
parent 6553e51b8b
commit b3b8c8dec4
+3 -2
View File
@@ -246,8 +246,9 @@ def _rdp_health_check():
import socket as _sk import socket as _sk
try: try:
_s = _sk.create_connection(('127.0.0.1', 3389), timeout=5) _s = _sk.create_connection(('127.0.0.1', 3389), timeout=5)
# X.224 Connection Request + RDP Negotiation Request (HYBRID) # X.224 Connection Request + RDP Negotiation Request (SSL|HYBRID|RDSTLS)
_s.sendall(bytes.fromhex('0300001b13e0000000000001000800020000000000000000000000000')) # TPKT len=0x13(19) 必须等于实际包长,否则服务器正确 RST(2026-07-22 误诊教训)
_s.sendall(bytes.fromhex('030000130ee00000000000010008000b000000'))
_s.settimeout(5) _s.settimeout(5)
_resp = _s.recv(1024) _resp = _s.recv(1024)
_s.close() _s.close()