Você provavelmente tem um dispositivo de segurança que está respondendo em nome dos endereços IP em sua rede. O comportamento de "pegar e desligar" é típico. Você pode confirmar esse comportamento observando os valores de IP TTL para a resposta da porta 25 e comparando-os com uma resposta real de porta aberta da sua máquina (respostas de portas fechadas como a porta 24 provavelmente também são provenientes do dispositivo de segurança, portanto comparação não seria útil). Você pode usar o Nmap para esse propósito da seguinte forma:
sudo nmap -sS -p 25,80 target.example.com -oX - | grep reason_ttl
Assumindo que a porta 80 está aberta no seu alvo, e a porta 25 está dando respostas estranhas, você deve ver algo como isto:
<host starttime="1398878935" endtime="1398878935"><status state="up" reason="reset" reason_ttl="52"/>
<ports><port protocol="tcp" portid="25"><state state="open" reason="syn-ack" reason_ttl="54"/><service name="smtp" method="table" conf="3"/></port>
<port protocol="tcp" portid="80"><state state="open" reason="syn-ack" reason_ttl="52"/><service name="http" method="table" conf="3"/></port>
Desculpe a XML eyesore, mas se você olhar o atributo state
do elemento reason_ttl
, você pode ver que em um caso o TTL da resposta foi menor que o outro, indicando que o pacote viajou mais longe na rede antes de obter uma resposta. Este não é um método infalível, já que o dispositivo de segurança pode mentir sobre TTLs de saída, mas pode ajudar a satisfazer sua curiosidade.
Em qualquer caso, você pode ter certeza, com base na saída do netstat e de outras ferramentas, que a porta não está realmente ouvindo em sua máquina.