Naja, Wissen ist Macht. Wenn die FireWall gut ist dann gibt es keine Möglichkeit einen geschlossenen Port von einem FireWall blockierten Port zu unterscheiden. Die FireWall wird dann nämlich auf diesem Port so reagieren als wäre dieser Port geschlossen. Dazu muß man aber wissen welche Staties ein Port annehmen kann:
1.) geschlossen, d.h. jede Anfrage auf diesem Port wird keienerlei Reaktionen hervorufen, somit wird der Client mit einem Timeout terminieren
2.) geschlossen aber belegt, d.h. eine FireWall blockiert diesen Port. Sie wird also alle was am Port reinkommt behandeln und abfangen. Für die Clientside ergibt sich aber das Bild das dieser Port geöffnet ist, aber nicht auf die entsprechenden Protokollabfragen antwortet. Der Client wird als mitbekommen das bei einem Verbindungsausbau der Serverport dropt, sprich die Verbindung AKTIV beendet.
3.) offen, auf dem Port reagiert eine Software.
Eine gute FireWall wird bei einem geblocktem Port so reagieren wie in 1.) und NICHT wie 2.). Leider machen das die wenigsten FireWall, technisch bedingt, da sie auf's SocketAPI des
OS aufsetzen. D.h. die FireWall hat keine Möglichkeit ganz gezielt den kompletten
TCP/
IP Frame zu blocken, sondern nur dessen Weiterleitung in das System. Das underlaying Socket
API wird also den Port wie in 2.) droppen.
Ganz "schlechte" FireWalls wiederum, setzen auf die geblockten Ports ein eigenes Protokoll drauf. D.h. sie antworten sogar und implementieren eine Info-Antwort oder sogar eine "Backdoor".
Gruß Hagen