Alguém respondeu que a resposta real do servidor é uma mensagem TCP RST em vez de uma mensagem ICMP, mas essa resposta foi excluída desde então.
De qualquer forma, explorei mais um pouco e observei alguns traços de falha nas tentativas de conexão do Wireshark:
i) a resposta é de fato um TCP RST, ACK em vez de uma mensagem ICMP como eu pensava que seria
ii) a pilha TCP / IP do Windows é implementada para repetir a tentativa de conexão após um RST, com o ACK esperando que o servidor possa ter magicamente reaparecido dentro do tempo limite de conexão [1]
iii) o administrador pode definir o registro TcpMaxConnectRetransmissions em HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters para um valor menor que o padrão 3 (WinNT) ou 2 (Win2k).
Assim, a resposta é ajustar o registro e reduzir TcpMaxConnectRetransmissions para 0 ou 1. Meu único problema com essa 'solução' é que o AFAICT também afetará as tentativas de conexão em que o SYN inicial é descartado na rede. o valor para 0 é uma má idéia, e defini-lo como 1 ainda resultará em um tempo de execução maior que o necessário para meus scripts.
[1] Para obter mais informações: link
- Lauri