Can you explain to me what this port number stands for
If are somewhat familiar with TCP/IP, you know that computers are referred to by their IP address. Now when a packet comes in, how does the computer know which program the packet should be forwarded to? That's where ports come in.
Ports range from 1 to 65535, and are split into three categories:
- Well known 0-1023 (
80 -> HTTP
, 443 -> HTTPS
, 53 -> DNS
, etc...)
- Registered 1024-49151 (
1194 -> OpenVPN
, 2195 -> Apple push notifications
, etc...)
- Dynamic/private 49152–65535
If you're running a service, like a web server, you will listen on the well known ports 80 and/or 443. That way all users have a standardized way of accessing your service.
If you're a user, and you navigate to google.com
, your operating system will choose a port from the dynamic/private range to use as the source port when communicating with Google's web server. This port doesn't need to be well known or registered since the client is the one initiating the connection, and is telling the web server which port they should communicate on. When Google sends their response, they will send their TCP/IP packet to port the client used, thus the client's OS will know to forward that packet to the correct browser tab.
why php shows me this number in the first place?
Seeing client port numbers can be helpful and informative in many cases.
Let's say there's another service that queries your web server, and that server runs on port 5000. You can search your logs for client port 5000 to see the request logs from just that service.
Or if someone is scanning your website, usually they will use a tool that spins up multiple threads, with each thread having a unique port. When you look at your logs you will see heavy traffic from the same IP but from multiple ports, this is an obvious indicator that you're getting scanned using some tool.