【问题标题】:Executing Ping for secured host URLs对受保护的主机 URL 执行 Ping
【发布时间】:2013-03-06 22:52:45
【问题描述】:

我在使用 PING 实用程序时遇到了一个奇怪的问题。当我在终端上执行 PING 命令以测试主机的连接性时,它在以太网上运行良好,但在 WiFi 上运行良好。但我可以使用我的应用程序访问 WiFi 上的主机。唯一的区别是我在从我的应用程序连接主机时使用 HTTPS。现在,当我使用 HTTPS:// 为主机添加前缀时,我在终端上收到“未知主机”错误。知道有什么问题吗?以及如何在这样的安全服务器上执行 Ping?

ping -c10 -b en1 test.retail.com

【问题讨论】:

    标签: macos cocoa terminal ping


    【解决方案1】:

    似乎对 ping 的作用存在误解。 Ping 正在发送 ICMP 回显请求数据包并等待相应的响应。 ICMP 是与用于 HTTPS 的 TCP 完全不同的网络协议。

    主机可以响应 HTTPS 连接尝试但不响应 ping(例如,因为主机本身的防火墙或您与您尝试 ping 的主机之间的某处的防火墙丢弃了 ICMP 回显请求数据包或响应) ,反之亦然(例如,因为主机没有运行 Web 服务器,或者对它的访问受到限制/防火墙)。

    Ping 是查看您是否可以访问配置为响应 ICMP 回显请求数据包的主机的正确工具(如果您可以合理地假设您与主机之间或主机上没有防火墙,则过滤掉这种类型的网络流量),并确定您和主机之间的响应时间。

    但是,如果您想测试主机是否响应某个 TCP 端口(例如,HTTP Web 服务器的端口 80,或 HTTPS Web 服务器的 443),您可以在终端中使用 Telnet:

    telnet www.google.com 80
    

    如果有服务器在该 TCP 端口上侦听,您将看到如下内容:

    Trying 173.194.69.106...
    Connected to www.google.com.
    Escape character is '^]'.
    

    如果它是一个 Web 服务器,你甚至可以根据需要与它进行 HTTP 通信:

    GET /
    

    它会回复:

    HTTP/1.0 302 Found
    Location: http://www.google.com/
    Cache-Control: private
    Content-Type: text/html; charset=UTF-8
    (...)
    

    既然我们已经解决了这个问题,问题仍然是为什么您的主机确实通过以太网响应 ping,而不是通过 Wi-Fi。

    一个原因可能是,许多网络在使用有线以太网连接时允许不受限制地访问所有内部主机,但设置了防火墙来限制从无线网络到 LAN 或 DMZ 上的主机的连接。强>

    您尝试 ping 的主机位于何处?网络流量如何从以太网和 Wi-Fi 网络路由到您的主机?

    【讨论】:

    • 感谢您的解释。你是对的,我试图访问的主机实际上是一个虚拟 IP 并具有防火墙设置。
    猜你喜欢
    • 2021-05-08
    • 2017-12-29
    • 2017-04-29
    • 1970-01-01
    • 2014-03-26
    • 2012-08-23
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    相关资源
    最近更新 更多