3 ms·
I believe this is incorrect. The server usually listen on one port, but everytime it does an accept, a different random port is used, and the client start talki
by nathanappere 15y ago
I believe this is incorrect. The server usually listen on one port, but everytime it does an accept, a different random port is used, and the client start talking to the server on that new port.
- caf 15y agoThis is a surprisingly common misconception. When you accept, you get a new socket. but it is on the same local port. You can readily see this by running 'netstat' on a busy server.
- ay 15y agoAnother way to see that there are no magic "dynamically selected" potrs is to run on the server "tcpdump src x.x.x.x or dst x.x.x.x" where the x.x.x.x is your client address - and check the outputs - the packets will have ports in them. Alternatively one can read RFC793 or, better, Stevens' "TCP/IP Illustrated".
- nathanappere 15y agoJust checked it and you're right. I believed I had encoutered the behaviour I described but I do not remember in which context. Anyway glad I learned something!
- dsl 15y agoFTP.
- pavelkaroukin 15y agoI believe this comes from how FTP protocol works which do it to some extent and the reason why it do not work trough firewalls well without using passive mode.
- tybris 15y agoBy that logic, you would have to open every single port on your firewall if you wanted to set up a web server. Fortunately, your OS just looks at the client IP/port to distinguish multiple TCP streams.