hm...ich glaube du solltest dir mal ein paar artikel über protokolle durchlesen, du scheinst nämlich noch einen grundlegenden aber verbreiteten denkfehler zu machen. ports sind irgendwie immer dynamisch und beliebig. es gibt nur der einfachheit halber die vereinbarung, daß bestimmte protokolle kontakt über bestimmte ports aufnehmen, sie können aber auch beliebige andere ports belegen, nur weiß halt dann der client nicht, auf welchen port er kontaktieren muss. aber genausogut könnte der dns-server auf port 5300 abhören. außerdem findet nur die kontaktaufnahme auf dem port statt, nach dem ACK wird auch vom server aus auf einem freien port weiter kommuniziert. mal ein beispiel:
dein rechner nimmt kontakt mit nem webserver auf. er startet eine verbindungsanfrage von port xxxx auf port 80 des servers, outbound traffic (das heißt ausgehender verkehr) von deinem rechner auf die ip des servers muß in der firewall erlaubt sein.
auf dem http-server geht die anfrage ein, inbound traffic auf dem dns (eingehender verkehr) von deiner ip aus muß auf dem dns erlaubt sein. der server schaut welche verbindungen er schon offen hat und sucht sich nen freien unprevelegierten port (sprich einen port über 1023) den er für die verbindung nutzen will, schickt das angebot des ports zu (SYN-ACK) dir. die firewall hat entweder inbound vom server schon als regel zulassen in der tabelle, oder sieht daß es die antwort auf eine intern abgesendete anfrage ist und lässt die verbindung von port yyyy, den der server angeboten hat, zu port xxxx bei dir zu, was dein client nochmal per ACK bestätigt. von nun an erfolgt der datenaustausch von xxxx nach yyyy. ein neuer socket ist erstellt. das ganze dient dazu den port 80 des http-servers wieder frei zu machen, um auf neue verbindungen zu lauschen, da er ansonsten durch den traffic mit dir blockiert wäre für neue verbindungsversuche anderer clients...das ganze öffnet natürlich ein paar lücken die für nette attacken (SYN_FLOOD, IP_SPOOF) genutzt werden können.
noch ein netter ms-bug...wenn du nun im internet surfst und eine verbindung zu einem webserver hast, dabei einen netstat -a durchführst und es analysierst wird dir auffallen, daß die verbindung von deinem port xxxx an port 80 des servers angezeigt wird, und zwar permanent. das ist aber falsch...ist ein alter ms-bug im ip-stack, der nie behoben wurde. es wird immer nur der ursprungsport angezeigt, was auch zu dem verbreiteten irrtum führt, daß der gesamte traffic des servers auf dem 80er port stattfindet....
so...genug getippt..ich hoffe du kannst damit was anfangen...