我正面臨PING實用程序的一個奇怪問題。當我在終端上執行PING命令來測試我的主機的連接性時,它在以太網上工作正常,但在WiFi上無法正常工作。但我可以使用我的應用程序訪問WiFi上的主機。唯一的區別是我在從我的應用程序連接主機時使用HTTPS。現在,當我用HTTPS前綴主機時://我在終端上收到「未知主機」錯誤。任何想法可能是錯的?以及如何在這樣的安全服務器上執行Ping?對安全主機URL執行Ping
ping -c10 -b en1 test.retail.com
我正面臨PING實用程序的一個奇怪問題。當我在終端上執行PING命令來測試我的主機的連接性時,它在以太網上工作正常,但在WiFi上無法正常工作。但我可以使用我的應用程序訪問WiFi上的主機。唯一的區別是我在從我的應用程序連接主機時使用HTTPS。現在,當我用HTTPS前綴主機時://我在終端上收到「未知主機」錯誤。任何想法可能是錯的?以及如何在這樣的安全服務器上執行Ping?對安全主機URL執行Ping
ping -c10 -b en1 test.retail.com
似乎有一個關於ping在做什麼的誤解。 Ping正在發送ICMP迴應請求包並等待相應的響應。 ICMP是與TCP完全不同的網絡協議,用於HTTPS。
主機可以響應HTTPS連接嘗試但不響應ping(例如,因爲主機本身的防火牆或您嘗試ping的主機之間的某個路徑會丟棄ICMP迴應請求數據包或響應),反之亦然(例如,因爲主機沒有運行網絡服務器,或者訪問它受到限制/防火牆)。
Ping是正確的工具,用於查看是否可以訪問配置爲響應ICMP回顯請求數據包的主機(如果您可以合理地假設您與主機之間或主機之間沒有防火牆,淘汰這種類型的網絡流量),並確定您和主機之間的響應時間。
但是,如果你想測試主機是否一定的TCP端口上的響應(如端口80用於HTTP Web服務器,或443的HTTPS Web服務器),你可以在終端使用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
(...)
現在,我們有這個出路,問題依然存在,爲什麼你的主機中通過Wi-Fi響應通過以太網ping通,但不是。
其中一個原因可能是,許多網絡允許在使用有線以太網連接時無限制地訪問所有內部主機,但卻有適當的防火牆限制從無線網絡連接到局域網或DMZ上的主機。
你要ping的主機在哪裏?網絡流量如何從以太網和Wi-Fi網絡路由到您的主機?
謝謝你的解釋。你是對的,我試圖達到的主機實際上是一個虛擬IP和防火牆設置。 – Abhinav 2013-03-06 23:41:16