代码之家  ›  专栏  ›  技术社区  ›  Matt

在线端口检查程序如何工作?

  •  1
  • Matt  · 技术社区  · 15 年前

    例如 http://www.utorrent.com/testport?port=12345

    这是怎么工作的?服务器端脚本是否可以尝试打开套接字?

    4 回复  |  直到 15 年前
        1
  •  1
  •   loginx    15 年前

    有很多方法可以通过服务器端脚本实现这一点。正如@oded所提到的,大多数服务器端处理程序都能够在任意端口上启动套接字连接,其中大多数甚至有专用的端口扫描包/库(php one 在PEAR存储库中,python的“socket”模块使这类任务变得轻而易举,等等……

    请记住,在共享主机平台上,出于安全目的通常禁用套接字连接。

    另一种也很容易实现的方法是从服务器端脚本使用命令行端口扫描器,如nmap。例如,在php中,您将执行echo ``nmap-p$port$i p \

        2
  •  1
  •   Oded    15 年前

    服务器端脚本将尝试打开指定端口上与原始IP的连接。

    如果没有响应(尝试将超时),这表示端口没有打开。

        3
  •  0
  •   Brian Carlton    15 年前

    如@oded所说,服务器可以尝试。但这并不能保证接收器会做出响应。

        4
  •  0
  •   John Feminella    15 年前

    通常,类似的情况会发生:

    • URL请求包含有关访问哪个端口的说明。浏览器发送的头包含有关请求来源的信息。

    • 在响应请求之前,服务器尝试打开一个端口并检查是否成功。它等待了一段时间才超时。

    • 根据此测试的结果动态呈现网页。

    • 将返回包含结果的响应。

    有时步骤(2)和(3)将替换为Ajax回调,这允许响应更快地返回。