Http: // ile ping işlemi arasındaki fark


46

Web siteme ping yapmaya çalışıyorum http://www.example.com/ve bu bilinmeyen bir IP adresine ve zaman aşımına uğruyor.

PING http://www.example.com/ (198.105.254.228): 56 data bytes 
Request timeout for icmp_seq 0 
Request timeout for icmp_seq 1 
Request timeout for icmp_seq 2

ama ping example.comyaparken işe yarıyor

Burada kaçırdığım şey nedir?


32
Burada kafa karıştıran, ping'in bunu bir ana bilgisayar adı olarak çözememesinin, başarısız ICMP paketlerinin gönderilmesinin çok daha az olması gerektiğidir. Hangi işletim sistemi / sürümü kullanıyorsunuz?
kabarık

11
Özür dilerim, ama bunun nedeni birkaç nedenden ötürü oy kullandım - PING'den açıkça tahrif edilmiş çıktıyla web sitelerine bir URL içeren bir soru olan yeni bir kullanıcı. Tüm haklarıyla, bu, URL’yi trafiğe sokma denemesi. Hangi işletim sisteminin PING sürümüne sahip olduğunu bulamazsak, 1) bir URL'nin ne olduğunu bilir ve 2) her zaman için icmp_seq numarasını tanımlar.
Dawn Benton


25
Başarısız aramaları kaçırmak DNS hizmetleri vardır onlar bilmiyordu çünkü downvoted insanlar için, bilmiyordum pingve getaddrinfo()ve arkadaşlar bilmiyordum, eğik çizgi geçmesine 56 data bytesortak varsayılan vb .: işareti olarak bu ayırın olduğunu yardım etmeye çalışmadan önce bir şeyler hakkında daha fazla şey öğrenmek için çaba gösterdiğiniz için teşekkür ederiz.
rakslice

5
@ Ƭᴇcʜιᴇ007 Ping sonuçları gerçektir, OS X üzerindeki TimeWarner Cable DNS ile geçersiz bir ana bilgisayar adı ping yaparken tam olarak aynı görüyorum.
Hunter Dolan

Yanıtlar:


108

Http://www.example.com/ web siteme ping yapmaya çalışıyorum ve bilinmeyen bir IP adresine gidip zaman aşımına uğradı.

PING http://www.example.com/ (198.105.254.228): 56 data bytes
Request timeout for icmp_seq 0

Ping argümanı bir ana bilgisayar adıdır (veya bir IP adresi).

Yani aşağıdakilerin hepsi işe yarayacak:

ping example.com
ping www.example.com
ping 127.0.0.1

Diğer yandan,

ping http://www.example.com/

will olarak değil iş http://www.example.com/ bir HTTP olduğu Uniform Resource Locator (URL) geçerli bir ana makine adı (onun bir parçası bir ana bilgisayar olmasına rağmen).

Bir HTTP URL'si 4 bölümden oluşur:

  • Şema - her zaman mevcut
  • Ana bilgisayar adı - her zaman mevcut
  • Yol veya Kök - her zaman mevcut ancak bazen boş
  • Parametreler - isteğe bağlı

Ping, normal olarak URL’leri geçerli bir hedef ana bilgisayar adı olarak tanımaz.

Notlar :

  • Tüm URL'ler yukarıda belirtilen biçime sahip değildir.

  • Tam URL, adlandırma düzeninin bir işlevi olan bir dize tarafından izlenen bir adlandırma düzeninden oluşur.

  • Bir URL'nin biçimi IETF belirtiminde Tekdüzen Kaynak Konumlandırıcıları (URL) içinde tanımlanmıştır.


DNS Kaçırma

DNS sunucusu (ana bilgisayar adlarını IP adreslerine çözümleyen) geçersiz bir ana bilgisayar adı sağlanmış olsa bile geçerli bir IP adresi döndürecek şekilde yapılandırılmışsa, yukarıdakilere bir istisna olabilir.

Bu, bir ISS DNS sorgularınızı kaçırıyorsa olabilir.

Cevap itibaren ping i yazın herhangi rastgele ana makine adı için IP 198.105.254.228 çözümlendiğinden Neden? Michael Hampton tarafından :

Var olmayan alan adlarına ilişkin istekleri , arama sonuçlarını ve reklamları sağlayan, ancak herkesin gelirin bir kısmını kestirdiğiniz beyaz bir etiket hizmetine yönlendirerek "yardımcı" olmaya çalışıyorlar .

Neyse ki , sözde kapatabileceğiniz bir tercihler sayfası var .


33

Ping komutunu bir IP adresi olmayan bir dizeyle çalıştırdığınızda, ilk önce ping yapmaya çalıştığınız ana bilgisayarın IP adresini çözmesi gerekir.

Koşarken:

$ ping example.com

DNS sunucusu, web sitesini barındıran sunucunun IP adresini döndürür.

Ancak, çözümlenmesi için tüm DNS sunucusuna gönderilen standart bir http URL oluşturmak için protokol ve yolu ön eklerseniz.

Bu nedenle, DNS sunucusu bunun yerine kaydı bulmak yerine geçerli bir ana bilgisayar adı olmayan example.comkaydı arar http://example.com/.

Çok sayıda DNS sunucusu hiçbir şey olmadan geri dönecektir. Bu durumda, ping komutu yalnızca bir DNS özünürlük hatası ile hata verir.

Ancak DNS sunucunuz IP adresini döndürür 123.456.789.000. Adres, Time Warner Cable tarafından, URL'lerini tarayıcılarında yanlış yazan kullanıcılara yardımcı olmak için bir öneri olarak görünmektedir.

Ancak ping komutu bunu tam anlamıyla alır ve ana bilgisayar adının http://example.com/(geçerli bir ana bilgisayar adı değil) adrese çözümlendiğine inanır 123.456.789.000.

Ping komutunun bundan sonra zaman aşımına uğramasının nedeni 123.456.789.000ICMP isteklerine cevap vermemesidir.


5
Asıl alanın / ipin Topluluk botu tarafından düzenlendiğine dikkat çekmekte fayda var. "123.456.789.000" aslen var olmayan bir ana bilgisayar adını çözmeyi denediğinizde TWC'nin DNS tarafından çıkardığı IP adresiydi.
Hunter Dolan

1
Bot otomatik düzenlemelerin nasıl yapıldığını bilmiyor; Adsız bir kullanıcı tarafından önerilen bir düzenleme olduğunu söyleyebilirim.
Léo Lam,

Düzenleme isimsiz bir kullanıcı tarafından önerildi ve kendim ve başka bir kullanıcı tarafından onaylandı.
DavidPostill

21

Http: //, web sayfalarına erişmek için kullanılan protokol olan hiper metin aktarım protokolünü ifade eder. Bir sunucuyu pinglemek HTTP kullanmıyor, bunun yerine bir ICMP (internet kontrol mesajı protokolü) mesajından oluşuyor, bu yüzden http: // bu bağlamda anlam ifade etmiyor.


Bilmiyorum zaten bilmeyen biri için belli değil, ama şimdi KJ4TIP'in cevabındaki bilgiyi bildiğinize göre, çıktısına bakın: ICMP'yi Request timeout for icmp_seq 0orada görebilirsiniz, yani ICMP dizisi 0, 1, 2 ...
Tyler Collier,

0

Neden yine de 'ping' kullandın. 'Ping' trafiğini engelleyen bir güvenlik duvarı varsa işe yaramaz.

Bana göre eğer bir web sunucusunu test edecekseniz, o zaman 'telnet' kullanmak daha iyidir, o zaman ana bilgisayarı ve dinlemeniz gereken portu test edebilirsiniz.

örneğin: Web sunucunuzu telnet www.mywebserver.com 80’i boş ekranda test etmek için , 'get' yazıp 'enter' yazınız ve web sunucusundan geri bir http yanıtı almalısınız. ( örneğin: HTTP / 1.1 400 Kötü İstek ... )

Bu bana sadece sunucunun 'değil' olduğunu ve aynı zamanda 80 numaralı bağlantı noktasını da dinleyip yanıtladığını söyler. (Ayrıca herhangi bir güvenlik duvarının 80 numaralı bağlantı noktasının web sunucuma geçmesini beklerdim)

Benzer şekilde 'telnet' posta sunucularını, ftp'yi ve hemen hemen başka her şeyi test etmek için de çalışır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.