I firewall devono rispondere con un messaggio ICMP quando bloccano una richiesta. Tuttavia, questo non è necessariamente il caso (sarai interessato a questo simpatico articolo ).
Puoi testare dall'esterno per vedere se una porta è accessibile attraverso un firewall e, in tal caso, se qualcosa è in ascolto su di essa. Ecco tre diversi scenari che coinvolgono una richiesta TCC che puoi osservare con wireshark
, o qualche altro sniffer di pacchetti, e cosa vedrai:
1) Firewall rifiuta la richiesta
Riceverai un messaggio ICMP e lo strumento che effettua la richiesta dovrebbe dirti immediatamente qualcosa in tal senso ("irraggiungibile, amministratore vietato" ecc.) Per "strumento" intendo il client che stai utilizzando per inviare la richiesta (che ho usato telnet
). I dettagli del messaggio 1 dipendono da come è configurato il firewall, ma "porta non raggiungibile" è probabilmente il più comune.
"Nessuna route verso l'host" può indicare questo, ma può anche indicare problemi di routing più sottili.
2) Firewall rilascia pacchetto
Non c'è risposta, quindi lo strumento attende fino al timeout o ti annoi.
3) Il firewall consente il pacchetto (o non esiste un firewall), ma nulla è in ascolto sulla porta.
Riceverai un messaggio TCP RST / ACK. Presumo che il protocollo TCP lo richieda. In altre parole, se nulla è in ascolto sulla porta, il sistema operativo stesso invia questa risposta. Potrebbe essere difficile distinguerlo dal n. 1 in base a ciò che riporta uno strumento, perché potrebbe dire la stessa cosa in entrambi i casi (tuttavia, molto probabilmente lo distingue come "connessione rifiutata" rispetto al n. 1, "rete non raggiungibile" ). Osservato in uno sniffer di pacchetti sul computer client, lo scenario n. 1 (messaggio di rifiuto ICMP) e n. 3 (messaggio TCP RST / ACK) sono chiaramente distinti.
L'unica altra opzione qui è che il pacchetto è autorizzato dal firewall e qualcosa è in ascolto, in modo da ottenere una connessione corretta.
In altre parole: presumendo che la rete in generale funzioni correttamente, se si ottiene il numero 1 o il numero 2, significa che un firewall impedisce attivamente l'accesso alla porta. # 3 accadrà se il tuo server non è in esecuzione ma la porta è accessibile, e ovviamente (l'implicito) # 4 è una connessione riuscita.
- Ad esempio, "porta non raggiungibile", "host vietato", varie altre combinazioni di host / porta / admin e non raggiungibile / vietato ; cercare questi nel messaggio in quanto sono un'indicazione esplicita di un firewall IP in gioco.
nc
venga segnalato "Connessione rifiutata" quando la porta è accessibile, ma non è presente un listener e "Rete non raggiungibile" quando la richiesta è stata rimbalzata da un firewall tramite icmp (il che significa che potrebbe esserci o meno un servizio sulla porta ). Se il firewall rilascia il pacchetto invece di rifiutarlo, sinc
bloccherà per un po '.