Soru IP adresi 0.0.0.0 ve 127.0.0.1 arasındaki fark nedir?


127.0.0.1 ~ 127.255.255.254 'ün çoğu modern işletim sistemi için geri döngü IP adresleri olduğunu biliyorum ve bu IP adresleri kendi bilgisayarımıza başvurmak için kullanılabilir.

Ama 0.0.0.0 nedir? Görünüşe göre yerel bilgisayara da atıfta bulunuyor. fark?

Ve benim için aşağıdaki IP bağlantılarını açıklar mısınız:

screenshot of netstat -an output


208
2017-10-25 07:22


Menşei


Ayrıca, 0.0.0.0'ın ne olduğuna ilişkin ayrıntıları verdiği için bu soruya da bir göz atın: serverfault.com/questions/228629/... - Ellie Kesselman
Modern bir işletim sistemi kullanıyor ::1 geri döngü adresi olarak. - kasperd


Cevaplar:


Tek şey, "tüm adreslerin erişime sahip olması" dememenizdir - bu güvenlik duvarlarınızda ve / veya sunucu yazılımınızda ve / veya tcpwrappers gibi diğer güvenlik katmanlarında yapılır.

0.0.0.0, bu bağlamda, "yerel makinedeki tüm IP adresleri" anlamına gelir (aslında, muhtemelen "yerel makinedeki tüm IPv4 adresleri"). Dolayısıyla, web sunucusu makineniz 192.168.1.1 ve 10.1.2.1 olmak üzere iki IP adresine sahipse ve apache gibi bir web sunucusu daemonunun 0.0.0.0 dinleyebilmesine izin verirseniz, bu IP adreslerinin her ikisinde de erişilebilir olacaktır. Ancak, yalnızca bu IP adresleri ve web bağlantı noktası (lar) ı ile bağlantı kurabilir.

Farklı bir bağlamda (yönlendirme) 0.0.0.0, genellikle varsayılan yolun (yerel ağınızdaki rotalardan başka, internetin "geri kalanına" giden yol) olduğu anlamına gelir.


145
2017-10-25 08:55



Yani, web sunucusunun soketinin 0.0.0.0'da dinlediğinde mevcut adreslere bağlı olduğunu mu söylüyorsunuz? - onmyway133
0.0.0.0 varsayılan yol anlamına gelir sadece önek eşlik ediyorsa /0 (veya netmask 0.0.0.0) - minmaxavg
Dikkat edilmesi gereken: eğer bazı süreçler 0.0.0.0'da dinlenirse, o zaman, döngü geri arayüzünün halihazırda yapılandırılmış adresini içeren tüm makinenin ağ arayüzlerinin IP adreslerine erişilebilecektir. Ancak, işlem yalnızca geri döngü adresinin bir portunda <portNumber> dinlerse, ör. 127.0.0.1 ve daha sonra süreç sadece ulaşılabilir aynı makineden tarafından tam olarak 127.0.0.1 hedefleniyor: <portNumber>. Deneyin bu piton aracı  oynamak! - Gab是好人


Bir servis 0.0.0.0'da dinlendiğinde, servisin tüm yapılandırılmış ağ arayüzlerini dinlediği anlamına gelir, 127.0.0.1 dinlenirken servis sadece geri döngü arabirimine bağlanır (sadece yerel makinede kullanılabilir).


76
2017-10-25 07:33





IP adresi 0.0.0.0 Nerede kullanıldığına bağlı olarak çok farklı anlamlara sahip olabilir.

  • Bu, gerçek bir ağ arabirimine, 0.0.0.0/8 alt ağındaki diğer herhangi bir adresle birlikte verilen geçerli bir adres değil (diğer bir deyişle, 0.).
  • Herhangi bir IP paketinde kaynak adres olarak kullanılamaz; bu, bir bilgisayarın hala kendi IP adresini bilmediği ve bir tanesini almaya çalıştığı (klasik örnek: DHCP) olmadığı sürece kullanılamaz.
  • Bir yönlendirme tablosunda kullanılırsa, varsayılan ağ geçidini tanımlar; 0.0.0.0 değerine giden bir rota, varsayılan adres, yani hedef adres için daha spesifik bir rota bulunmadığında kullanılan yoldur.
  • Son olarak, çıktı çıktığında netstat komutu (bu sizin için sorduğunuz şeydir), belirli bir soketin bilgisayarın sahip olduğu tüm mevcut IP adreslerini dinlediği anlamına gelir; Bir bilgisayarda birden fazla IP adresi olduğunda, bir soket sadece belirli bir adres ve port çiftine veya bir bağlantı noktasına bağlanabilir ve herşey adresler; Burada bir IP adresi görüyorsanız, soketin sadece o bağlantı noktasında ve o belirli adreste dinleneceği anlamına gelir; Eğer görürsen 0.0.0.0Yani, o limanda dinliyor demektir herşey makinenin adresleri, geridönüş bir (dahil olmak üzere)127.0.0.1).

38
2017-08-12 06:45



0.0.0.0'ı kıstırırsanız bunun anlamı nedir? Curl aslında mevcut arayüzler aracılığıyla bir istekte bulunmak ve göndermek ister mi? Hangi arabirimin doğru olduğunu nasıl biliyor? Bir sunucunun tüm arayüzleri nasıl dinleyebileceğini anlıyorum, fakat bir istemci için 0.0.0.0 veya curl [::] gibi tüm arayüzleri talep etme mekanizması nedir? - CMCDragonkai
İşletim sistemi, ağ oluşturma perspektifinden sadece bir anlam ifade etmediğinden, büyük olasılıkla bunu yapmanıza engel olacaktır. Denemek ping 0.0.0.0 Windows sisteminde bir hata mesajıyla sonuçlanır. - Massimo
curl 0.0.0.0 verim connection refusedArch Linux'ta. ping 0.0.0.0öte yandan, bir takma isim gibi görünüyor ping 127.0.0.1 bu iyi çalışıyor. - Matthias Braun
@MatthiasBraun connection refused varsayılan olarak curl, 80 / tcp bağlantı noktasına bağlanmaya çalıştığı için olabilir. Açık portlarınızı bulmaya çalışın nmap -sV localhost ve sonra örneğin 631 / tcp ise: curl 0.0.0.0:631. - Pablo Bianchi


Lee B'nin cevabı doğru, ama ilginizi çekiyorsa, ilgili bazı RFC'ler.

0.0.0.0:

itibaren RFC1122Bölüm 3.1.2.3:

Şimdi A, B sınıfı için önemli özel durumları özetliyoruz.               ve IP için aşağıdaki gösterimi kullanan C IP adresleri               adres:

            { <Network-number>, <Host-number> }

        or
            { <Network-number>, <Subnet-number>, <Host-number> }

...

          (a)  { 0, 0 }

             This host on this network.  MUST NOT be sent, except as
             a source address as part of an initialization procedure
             by which the host learns its own IP address.

Sadece, "bu ağdaki bu ev sahibi" ... Lee B'nin cevabı gibi, bunu ev sahibinizdeki tüm mevcut IP adreslerine çevirir. 0.0.0.0'da bir hizmetin barındırılması, bu hizmeti her adreslenebilir arayüzde otomatik olarak barındıracaktır.

127.0.0.1:

itibaren RFC5735:

127.0.0.0/8 - Bu blok, İnternet anasistemi geri döngü adresi olarak kullanılmak üzere atanmıştır. Daha üst düzey bir protokol tarafından bu bloğun herhangi bir yerindeki bir adrese gönderilen bir datagram, ana bilgisayarın içine geri döner. Bu normalde geri döngü için sadece 127.0.0.1/32 kullanılarak uygulanır. [RFC1122] 'de açıklandığı gibi, Bölüm 3.2.1.3, tüm 127.0.0.0/8 bloğu içindeki adresler, herhangi bir ağda herhangi bir yerde yasal olarak görünmez.

0.0.0.0 ile geri döngü adresi 127.0.0.1 arasındaki fark, geri döngü adresinin, eğer varsa, ağ kurulumunun geri kalanı neye benzediğine bakılmaksızın, ana makine içinde tam işlevli bir IP arayüzüne izin verecek şekilde tasarlanmasıdır. Geri döngü cihazına gönderilen herhangi bir trafik hemen alınır. Geridöngü ağının kendi sunucunuza "göndermesi" o kadar da fazla değil ... daha çok, evinizde cihazlarınız, süreçler ve prizlerinizin olduğu ve açılıp bağlanabileceği bir mini ağ segmentiniz var.


27
2017-08-12 06:20





Basit anlamda: 0.0.0.0'da dinleme, bu bilgisayara, örneğin yerel bilgisayardan veya Internet'ten, bu bilgisayara ağ erişimi olan her yerden dinleme anlamına gelir, 127.0.0.1'de dinlerken sadece bu bilgisayardan dinlemek anlamına gelir.


3
2017-12-28 10:28