【问题标题】:In php's fsockopen() findout user's port number在 php fsockopen() 中找出用户端口号
【发布时间】:2011-05-26 16:00:26
【问题描述】:

如何在用户机器上找出连接的端口号?

【问题讨论】:

  • 你在说什么连接?与网络服务器的连接? (可能是 80 或 443)。
  • 不,我的意思是我的服务器中的哪个端口被用来连接到目标服务器的端口 80,443。

标签: php port fsockopen


【解决方案1】:

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);

【讨论】:

    【解决方案2】:

    尝试运行 netstat 命令。

    netstat -an
    

    【讨论】:

      【解决方案3】:

      它作为$_SERVER super global 的一部分提供

      $port = $_SERVER['REMOTE_PORT'];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多