2013-03-06 50 views
0

我正面臨PING實用程序的一個奇怪問題。當我在終端上執行PING命令來測試我的主機的連接性時,它在以太網上工作正常,但在WiFi上無法正常工作。但我可以使用我的應用程序訪問WiFi上的主機。唯一的區別是我在從我的應用程序連接主機時使用HTTPS。現在,當我用HTTPS前綴主機時://我在終端上收到「未知主機」錯誤。任何想法可能是錯的?以及如何在這樣的安全服務器上執行Ping?對安全主機URL執行Ping

ping -c10 -b en1 test.retail.com 

回答

2

似乎有一個關於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網絡路由到您的主機?

+0

謝謝你的解釋。你是對的,我試圖達到的主機實際上是一個虛擬IP和防火牆設置。 – Abhinav 2013-03-06 23:41:16