【发布时间】:2011-05-26 16:00:26
【问题描述】:
如何在用户机器上找出连接的端口号?
【问题讨论】:
-
你在说什么连接?与网络服务器的连接? (可能是 80 或 443)。
-
不,我的意思是我的服务器中的哪个端口被用来连接到目标服务器的端口 80,443。
如何在用户机器上找出连接的端口号?
【问题讨论】:
fsockopen 返回一个流资源。我搜索了 PHP 文档,但找不到从流资源中获取客户端端口的方法。
但是,如果您再往下一层并使用套接字,则可以轻松获得此信息。 http://www.php.net/manual/en/book.sockets.php
$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);
【讨论】:
尝试运行 netstat 命令。
netstat -an
【讨论】:
它作为$_SERVER super global 的一部分提供
$port = $_SERVER['REMOTE_PORT'];
【讨论】: