Limitações do sistema na varredura de portas TCP/IP abertas
A Microsoft impõe um limite (de 10) às conexões TCP de saída semiabertas simultâneas no Windows XP SP2(x86,x64)/SP3, 2003 Server SP1(x86)/SP2(x86,x64), Vista without SP(x86,x64) and with SP1(x86,x64), para impedir que vírus ou programas maliciosos abram conexões ilimitadas com outros sistemas. Esses sistemas operacionais deixam mais lenta a varredura de faixas de IP pela conexão a uma porta TCP, em todos os aplicativos em execução no PC (o ping ICMP não é afetado). O nosso programa pode sofrer essa limitação.
Quando essa limitação ocorre, você vê o
evento 4226 com a mensagem "TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts" no Log de Eventos do aplicativo.
Os resultados da varredura da rede e do monitoramento de hosts do nosso programa podem ser afetados por essa limitação. Alguns hosts podem não ser encontrados e o sistema pode travar o programa por 10 segundos ou mais, de tempos em tempos.
Se isso acontecer, considere estas soluções:
- Feche outros programas que geram muitas conexões TCP de saída semiabertas.
- Ao criar um mapa novo ou varrer faixas de IP em busca de dispositivos, aumente os tempos limite da varredura de portas TCP no assistente de varredura para vários segundos, de modo que não sejam verificados mais de 10 endereços IP a cada 10 segundos.
- Desative a verificação de portas TCP quando ela não for necessária na varredura da rede ou no monitoramento de hosts.
- Veja abaixo como desativar o limite.
A remoção completa do limite de conexões TCP de saída semiabertas, cujo padrão é 10, foi concluída no Windows Server 2008 e no Vista SP2 Build 17506. Na prática, o limite já vinha desativado por padrão desde o Windows Vista SP2 RC Build 16670.
A Microsoft inclui uma chave de registro que permite ao usuário ou ao administrador ativar ou desativar o limite de conexões TCP semiabertas no Windows Vista com Service Pack 2 e no Windows Server 2008 com Service Pack 2.
Há vários patches para o driver tcpip.sys que desativam o limite ou aumentam o número de conexões permitidas. Pesquise na Internet a frase "half-open TCP connections limit " para encontrar os patches.