Infelizmente, logo após postar a pergunta, descobri o que parece ser a causa raiz. O cliente RDP parece estar alheio a um fechamento do soquete do lado do servidor, devido a credenciais ruins. Quando eu coloco a senha correta, é bem sucedido!
Espero que outras pessoas se beneficiem desse Q & A. Um caso do que parece ser um problema de conexão é, na verdade, estupidez no cliente RDP.
Aqui estão os dois últimos pacotes de um tcpdump
trace:
09:29:05.977126 IP server.3389 > client.65355: F 1292:1292(0) ack 1438 win 7965
09:29:05.978195 IP client.65355 > server.3389: . ack 1293 win 16229
O servidor (na verdade, um servidor de encaminhamento de porta, não a máquina Windows) enviou um pacote FIN, indicado pelo F
. A pilha TCP do cliente atribui isso, mas o aplicativo permanece indiferente ao encerramento unidirecional e continua exibindo a caixa de diálogo de tentativa de conexão.
Eu o reproduzi várias vezes. Quando eu desligar e tentar se reconectar com a senha errada, ele trava. Senha correta e continua. Talvez daqui a dez anos eles consigam a RDP.
P.S. o outro cliente que não exibe o comportamento é um aplicativo gratuito para Android.