Os firewall devem responder com uma mensagem ICMP quando bloqueiam uma solicitação. No entanto, isso não é necessariamente o caso (você estará interessado em este belo artigo ).
Você pode testar de fora para ver se uma porta está acessível por meio de um firewall e, em caso afirmativo, se alguma coisa está sendo ouvida. Aqui estão três cenários diferentes envolvendo uma solicitação tcp que você pode observar com wireshark
, ou algum outro sniffer de pacote, e o que você verá:
1) O firewall rejeita a solicitação
Você recebe uma mensagem ICMP de volta, e a ferramenta que faz a solicitação deve informar imediatamente algo com esse efeito ("inacessível, admin proibido", etc.). Por "ferramenta" quero dizer o cliente que você está usando para enviar a solicitação (usei telnet
).
"Nenhuma rota para hospedar" pode indicar isso, mas também pode indicar problemas de roteamento mais sutis.
2) O firewall descarta o pacote
Não há resposta, então a ferramenta aguarda até que o tempo limite ou você fica entediado.
3) Firewall permite pacote (ou não há firewall), mas nada está escutando na porta.
Você recebe uma mensagem TCP RST / ACK de volta. Eu presumo que o protocolo TCP exige isso. Em outras palavras, se nada estiver escutando na porta, o próprio SO envia esta resposta. Pode ser difícil distinguir isso de # 1 apenas com base no que uma ferramenta relata, porque pode dizer a mesma coisa em ambos os casos (no entanto, muito provavelmente distinguir isso como "conexão recusada" vs. # 1, "rede inacessível"). Observado em um sniffer de pacotes na máquina cliente, o cenário 1 (mensagem de rejeição de ICMP) e # 3 (mensagem de TCP RST / ACK) são claramente distintos.
A única outra opção aqui é que o pacote é permitido pelo firewall e algo está escutando, então você obtém uma conexão bem-sucedida.
Em outras palavras: supondo que sua rede em geral funcione corretamente, se você obtiver # 1 ou # 2, significa que um firewall está ativamente impedindo o acesso à porta. # 3 acontecerá se o servidor não estiver em execução, mas a porta estiver acessível e, é claro, (o implícito) # 4 for uma conexão bem-sucedida.