Soviel wie ich weiß, macht eine Firewall das so:
Wenn sie startet, nimmt sie einfach alle Ports. Wenn nun ein anderes Programm auf nen Port zugreifen will, dann kann man das abfragen, und so weiter...
Ansonsten einfach mal das Orakel befragen:
http://de.wikipedia.org/wiki/Firewall