Localhost 127.0.0.1 nasıl çalışır?


17

Bununla ilgili bazı makaleler buldum, ama bunlar benim için yeterli değildi. localhostİşlerin nasıl olduğunu ve birçok farklı makinede neden aynı olduğunu bilmek istiyorum.

localhostWeb sitesini hostengellemek için dosyada kullandığımızda web sitesine erişimi nasıl engelleriz?


2
Üzgünüm ama sorunuzun ikinci satırında beni tamamen kaybettiniz ... ne demek istiyorsun?
Windows

1
@Windos, "127.0.0.1 www.blah.com" gibi hosts dosyasına bir girdi eklediğinizde, bu siteyi localhost'a yönlendirir (yine de IE8 ile çalışır)
tzup

Yanıtlar:


23

Burada Windows kasası hakkında konuşmayacağım, çünkü biraz farklı, ama diyelim ki: * Unix benzeri her işletim sisteminde iki ağ cihazınız var:

  • Geri döngü cihazı
  • Bir Ethernet cihazı

İlki tamamen "sanal" dır. Göremediğiniz bir Ethernet fişi gibi. İkincisi, bilgisayarınızdaki Ethernet fişi ile ilgilidir.

resim açıklamasını buraya girin

Geri döngü arabirimi ne işe yarar? Geri döngüye gönderdiğiniz her trafik geri gelecektir.

Ethernet aygıtınızın bir IP adresi (örneğin 192.168.1.20) aldığı gibi, geri döngü aygıtının da bir IP adresi (127.0.0.1) olacaktır. Daha kolay hale getirmek için, ona da erişebilirsiniz localhost.

Tipik bir Unix /etc/hostsdosyasına bakarsanız, 127.0.0.1'in "localhost" ile eşlendiğini göreceksiniz. "Localhost" yazdığınızda, bilgisayarınız 127.0.0.1'i aramayı bilir.

Ve bu yüzden uygulamaları "engelleyebilirsiniz". Bilgisayarınızın Microsoft'a veri göndermesini istemediğinizi varsayalım. Ardından, her isteği microsoft.combunun yerine 127.0.0.1'e yönlendirebilirsiniz . Her bağlantı girişimi microsoft.combaşarısızlıkla sonuçlanır.

* aslında bir donanım Ethernet bağlantı noktasına sahip her sistem


DNS alt sistemi, localhost'u 127.0.0.1'e çözecek ve 127.0.0.1'e giden trafik hiçbir zaman bir arayüze bile gitmeyecek, ağ yığını arkaya doğru dönecek (gerçekten Unix ile aynı şekilde, ancak sanal arayüz olmadan sürecin bir tezahürü olarak).
jcrawfordor

Microsoft Loopback Bağdaştırıcısını yükleyebilmenize rağmen , aynı şey değil.
slhck

Günümüzde, birçok işletim sistemi 0.0.0.0'ı desteklemektedir, bu yüzden bunu siteleri engellemek için kullanın. Döngüyü önler ...
Tamara Wijsman

8

Internet Protokolü (IP) adresleri dört temel kategoriden birine girer.

  1. Dünyadaki diğer bilgisayarlarla iletişim kurmak için kullanılan adresler,
  2. Yalnızca belirli bir şirket veya ağ içindeki bilgisayarlarla iletişim kurmak için kullanılan adresler,
  3. Ağdaki bilgisayarlar arasında bilgi yayınlamak için kullanılan adresler,
  4. Bir bilgisayarın kendisiyle konuşmasına izin vermek için kullanılan adresler.

Anlaşma ile, 127.0.0.1 bu kategorilerin sonlarına giren adreslerden biridir.

İnsanlar olarak IP numaralarını çok iyi hatırlama eğiliminde değiliz, ancak superuser.com, www.google.com ve diğer benzer adları hatırlamakta sorun yaşamıyoruz. İnternet küçükken (çok küçük), insanlar internetteki diğer insanlarla bir “host” dosyası paylaştılar, böylece sayıları hatırlamak zorunda kalmadılar. Bu ana bilgisayar dosyası IP adresinin çiftlerini ve bir veya daha fazla ana bilgisayar adını içeriyordu. Birisi bir ana bilgisayara adıyla erişmeye çalıştığında, bilgisayar yazılımı onu ana makine dosyasında arayacak kadar iyi biliyordu. O zamandan beri internet o kadar büyüdü ki artık eski stil hosts dosyasını kullanmanın yanı sıra IP numaralarına isimleri çözümlemek için bir alan adı sistemi (DNS) kullanıyoruz. Çoğu bilgisayar önce hosts dosyasındaki adları, sonra da başarısız olursa DNS'de arama yapacak şekilde ayarlanır.

Artık arka planınız olduğuna göre, şu şekilde çalışır (genellikle):

Bu girişi anasistemler dosyanıza eklediğinizde, bilgisayarınız www.foo.com'u her aramaya çalıştığında, www. İçin Internet Adresi olduğunu söylediğiniz için 127.0.0.1 IP adresinde bu siteye ulaşmaya çalışacaktır. foo.com. 127.0.0.1'in bir bilgisayarın kendisiyle konuşmasına izin vereceğini unutmayın, bu nedenle tarayıcınızda 127.0.0.1'e gitmeye çalışmak bilgisayarınızdaki bir web sunucusuna başvurmaya çalışacaktır. 127.0.0.1 yerine 2.3.4.5 yazdıysanız, www.foo.com'u açarken 2.3.4.5 adresinden bilgisayarla iletişim kurmayı denerdi.

127.0.0.1 localhost
127.0.0.1 www.foo.com
127.0.0.1 foo.com

Hosts dosyasını bunun gibi şeyler için kullanmanın kötü yanı, hosts dosyasına bir giriş eklediğinizde, bu bilgileri güncel tutma sorumluluğunu üstlenirsiniz. Girişi anasistemler dosyanıza koymazsanız, bilgisayarınız IP adresini aramak için DNS'yi kullanmaya çalışır, ardından sunucuyla iletişim kurmak için bu IP adresini kullanır.

Bununla ilgili iyi bir şey, kimsenin www.foo.com ile yalnızca bilgisayarınızdaki ana bilgisayar adıyla konuşmasına asla izin vermemek istiyorsanız, ana makine dosyanıza giriş eklemek (anahtar kelime - olabilir) bunun olmasını engelleyebilir. Amaç belirli bir siteye herhangi bir yolla (yalnızca ana bilgisayar adıyla değil) ulaşmayı önlemekse, bunun bir güvenlik duvarı kullanarak düzgün bir şekilde gerçekleşmesini önlemenin daha iyi ve daha güvenilir yolları vardır.


Günümüzde, birçok işletim sistemi 0.0.0.0'ı desteklemektedir, bu yüzden bunu siteleri engellemek için kullanın. Döngüyü önler ...
Tamara Wijsman

7

Localhost veya 127.0.0.1, yerel bilgisayarınız için yerleşik bir 'isim' dir.

Yani, 127.0.0.1'e "geri döngü" denir, çünkü bu sadece makinenizi gösteren bir işaretçi. Tanımı gereği localhost olarak da yazılabilen, ayrılmış bir IP Adresidir.

Bunun amacı, dışarıya bir sinyal göndererek ve daha sonra geri dönerek sinyalin aynı bilgisayar tarafından okunması için kişinin bilgisayarıyla konuşmasına izin vermektir.

Makinenizde bir sunucu çalıştırdığınızı varsayalım - erişmek için sunucuya bir istek göndermeniz (127.0.0.1'e bir paket göndermeniz) ve sunucunuzun okuması gerekir (sisteminiz paketi geri döndürür) 127.0.0.1'de yerel sisteminizi kurun, bu daha sonra sunucu yazılımınız tarafından okunur).


5

TCP / IP Rehberinde beni çok aydınlatıcı yapan bir sunum buldum :

Normalde, bir TCP / IP uygulaması bilgi göndermek istediğinde, bu bilgi protokol katmanlarını IP'ye aktarır ve IP datagramında kapsüllenir . Bu datagram daha sonra IP hedefine giderken bir sonraki sekmeye aktarılmak üzere cihazın fiziksel ağının veri bağlantı katmanına geçer.

Ancak, geri döngü işlevselliği için özel bir adres aralığı ayrılmıştır . Bu 127.0.0.0 ila 127.255.255.255 aralığıdır. IP veri bir 127 ye bir ev sahibi tarafından gönderilen x . x . x geri döngü adresi, iletim için veri bağlantı katmanına aktarılmaz. Bunun yerine, IP düzeyinde kaynak aygıta "geri döner". Özünde, bu normal protokol yığınının bir “kısa devre” sini temsil eder; veriler bir aygıtın üçüncü katman IP uygulaması tarafından gönderilir ve hemen alınır.


Ayrıca, Rutgers'ın bu normal, ana bilgisayarlar arası iletişimin illüstrasyonunu içeren bir Ağ kursu vardır ,

normal, ana bilgisayarlar arası iletişim

ve bu geri döngü veri akışı:

                                                    geri döngü veri akışı


4

Sorunuzun ikinci kısmı için, bir web sitesinin ana bilgisayar adını 127.0.0.1 adresiyle anasistemler dosyanıza koyarsanız, doğru adresi bulmak için DNS kullanmak yerine adresi tarayıcınıza yazdığınızda, anasistemler dosyasında önce localhost olarak çözülür ve web sitesinin adresine gitmek yerine sadece web sitenizin yüklenememesine neden olan makinenizle konuşmaya başlar.


Günümüzde, birçok işletim sistemi 0.0.0.0'ı desteklemektedir, bu yüzden bunu siteleri engellemek için kullanın. Döngüyü önler ...
Tamara Wijsman
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.