0

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

ping -c10 -b en1 test.retail.com
4

1 回答 1

2

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

主机可以响应 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 网络路由到您的主机?

于 2013-03-06T23:18:48.307 回答