2010-12-16 5 views
1

Wie finde ich die Port-Nummer auf dem Computer des Benutzers, von dem die Verbindung hergestellt wird?In phs fsockopen() Finder Port Nummer

+1

Über welche Verbindung sprechen Sie? Die Verbindung zum Webserver? (wahrscheinlich 80 oder 443). – dicroce

+0

Nein, ich meine, welcher Port in meinem Server verwendet wird, um eine Verbindung zu Port 80,443 des Zielservers herzustellen. – incognito

Antwort

0

Versuchen Sie, den Befehl netstat auszuführen.

netstat -an 
0

Es wird als Teil der $_SERVER verfügbar ist super global

$port = $_SERVER['REMOTE_PORT']; 
1

fsockopen gibt einen Stream zurück Ressource. Ich habe die PHP-Dokumentation durchsucht und kann keine Möglichkeit finden, den Client-Port von der Stream-Ressource abzurufen.

Wenn Sie jedoch eine Ebene niedriger gehen und Sockets verwenden, können Sie diese Information leicht erreichen.

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
socket_connect($socket, 'stackoverflow.com', 80); 
socket_getsockname($socket, $host, $port); 
var_dump($port); 
socket_close($socket);