Bagaimana cara kerja localhost 127.0.0.1?

17

Saya menemukan beberapa artikel yang berkaitan dengan ini, tetapi tidak cukup untuk saya. Saya ingin tahu cara localhostkerjanya dan mengapa sama pada banyak mesin yang berbeda?

Bagaimana cara localhostmemblokir akses ke situs web ketika kita menggunakannya dalam hostfile untuk memblokir situs web?

avirk
sumber
2
Maaf, tetapi Anda benar-benar kehilangan saya pada baris kedua dari pertanyaan Anda ... apa maksud Anda?
Windos
1
@ Windows, Ketika Anda menambahkan entri ke file host seperti "127.0.0.1 www.blah.com" itu mengarahkan ulang situs tersebut ke localhost (dulu bekerja dengan IE8)
tzup
Lihat juga Apa itu loopback-address (yaitu, 127.0.0.1)?
G-Man Mengatakan 'Reinstate Monica'

Jawaban:

23

Saya tidak akan membicarakan kasus Windows di sini, karena ini sedikit berbeda, tetapi katakanlah ini: Di ​​setiap * sistem operasi mirip Unix, Anda memiliki dua perangkat jaringan:

  • Perangkat loopback
  • Perangkat Ethernet

Yang pertama murni "virtual". Ini seperti colokan Ethernet yang tidak bisa Anda lihat. Yang kedua berhubungan dengan colokan Ethernet di komputer Anda.

masukkan deskripsi gambar di sini

Apa yang dilakukan antarmuka loopback? Setiap lalu lintas yang Anda kirim ke loopback akan kembali.

Seperti perangkat Ethernet Anda mendapatkan alamat IP (misalnya 192.168.1.20), perangkat loopback juga akan memiliki alamat IP, yaitu 127.0.0.1. Untuk membuatnya lebih mudah, Anda dapat mengaksesnya localhostjuga.

Jika Anda melihat /etc/hostsfile Unix yang khas , Anda akan melihat bahwa 127.0.0.1 dipetakan ke "localhost". Jadi, setiap kali Anda mengetik "localhost", komputer Anda akan tahu untuk menelepon 127.0.0.1.

Dan inilah alasan mengapa Anda dapat "memblokir" aplikasi. Katakanlah Anda tidak ingin komputer Anda mengirim data ke Microsoft. Maka Anda bisa mengarahkan setiap permintaan microsoft.comke 127.0.0.1 sebagai gantinya. Setiap upaya untuk menghubungi microsoft.comakan menghasilkan kegagalan.

* setiap sistem yang sebenarnya memiliki port Ethernet perangkat keras

slhck
sumber
Dalam 'dows', Subsistem DNS akan menyelesaikan localhost ke 127.0.0.1, dan lalu lintas ke 127.0.0.1 bahkan tidak pernah masuk ke suatu antarmuka, tumpukan jaringan berputar tepat di belakang (itu benar-benar cara yang sama persis seperti Unix, tetapi tanpa antarmuka virtual sebagai manifestasi dari proses).
jcrawfordor
Meskipun Anda dapat menginstal Microsoft Loopback Adapter, tetapi itu bukan hal yang sama.
slhck
Saat ini, banyak OS yang mendukung 0.0.0.0, jadi gunakan itu untuk memblokir situs. Menghindari loop ...
Tamara Wijsman
8

Alamat Internet Protocol (IP) termasuk dalam salah satu dari empat kategori dasar.

  1. Alamat yang digunakan untuk berkomunikasi dengan komputer lain di seluruh dunia,
  2. Alamat yang digunakan untuk berkomunikasi dengan komputer hanya dalam perusahaan atau jaringan tertentu,
  3. Alamat yang digunakan untuk menyiarkan informasi antar komputer di jaringan,
  4. Alamat yang digunakan untuk memungkinkan komputer berbicara sendiri.

Dengan kesepakatan, 127.0.0.1 adalah salah satu alamat yang termasuk dalam kategori terakhir.

Sebagai manusia, kita cenderung tidak mengingat nomor IP dengan baik, tetapi kita tidak memiliki masalah mengingat nama seperti superuser.com, www.google.com, dan nama-nama serupa lainnya. Ketika internet kecil (sangat kecil), manusia membagikan file "host" kepada orang lain di internet sehingga mereka tidak harus mengingat angka. File host itu berisi pasangan alamat IP dan satu atau lebih nama host. Ketika seseorang mencoba mengakses host dengan namanya, perangkat lunak komputer cukup tahu untuk mencarinya di file host. Internet telah tumbuh sangat banyak sejak saat itu sehingga kita sekarang menggunakan sistem nama domain (DNS) untuk menyelesaikan nama ke nomor IP selain menggunakan file host gaya lama. Sebagian besar komputer diatur untuk mencari nama di file host terlebih dahulu, kemudian di DNS jika itu gagal.

Sekarang setelah Anda memiliki latar belakang, inilah cara kerjanya (biasanya):

Ketika Anda menambahkan entri ini ke file host Anda, setiap kali komputer Anda mencoba juga mencari www.foo.com, itu akan mencoba untuk mencapai situs itu di alamat IP 127.0.0.1 karena Anda mengatakan itu adalah alamat Internet untuk www. foo.com. Ingatlah bahwa 127.0.0.1 akan memungkinkan komputer untuk berbicara dengan dirinya sendiri sehingga mencoba untuk pergi ke 127.0.0.1 di browser Anda akan mencoba untuk menghubungi server web di komputer Anda. Jika Anda memasukkan 2.3.4.5 alih-alih 127.0.0.1, ia akan mencoba menghubungi komputer di alamat 2.3.4.5 saat membuka www.foo.com.

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

Hal buruk tentang menggunakan file host untuk hal-hal seperti ini adalah setelah Anda menambahkan entri ke file host, Anda memikul tanggung jawab untuk menjaga agar informasi tersebut tetap mutakhir. Jika Anda tidak memasukkan entri dalam file host Anda, komputer Anda akan mencoba menggunakan DNS untuk mencari alamat IP, kemudian menggunakan alamat IP itu untuk menghubungi server.

Hal yang baik tentang itu adalah jika Anda tidak pernah ingin orang lain berbicara dengan www.foo.com hanya dengan nama host di komputer Anda, menambahkan entri ke file host Anda mungkin (kata kunci - mungkin) mencegah hal itu terjadi. Jika tujuannya adalah mencegah agar tidak pernah mencapai situs tertentu dengan cara apa pun (bukan hanya dengan nama host), ada cara lain yang lebih baik dan lebih dapat diandalkan untuk mencegah hal itu terjadi seperti menggunakan firewall dengan benar.

KB CMDBA
sumber
Saat ini, banyak OS yang mendukung 0.0.0.0, jadi gunakan itu untuk memblokir situs. Menghindari loop ...
Tamara Wijsman
7

Localhost atau 127.0.0.1 hanyalah 'nama' bawaan untuk komputer lokal Anda.

Artinya, 127.0.0.1 disebut "loopback", karena itu hanyalah sebuah pointer yang menunjuk kembali ke mesin Anda. Ini adalah Alamat IP yang dilindungi undang-undang yang juga dapat ditulis sebagai localhost menurut definisi.

Tujuannya adalah untuk memungkinkan seseorang berbicara dengan komputer seseorang dengan mengirimkan sinyal ke luar dan kemudian memutarnya kembali sehingga sinyal tersebut juga dibaca oleh komputer yang sama.

Katakanlah Anda menjalankan server pada mesin Anda - untuk mengaksesnya, Anda harus mengirim permintaan ke server (mengirim paket ke 127.0.0.1), dan server Anda harus membacanya (sistem Anda memutar kembali paket ke sistem lokal Anda pada 127.0.0.1 yang kemudian dibaca oleh perangkat lunak server Anda).

akseli
sumber
5

Saya menemukan presentasi di Panduan TCP / IP yang menurut saya sangat mencerahkan:

Biasanya, ketika aplikasi TCP / IP ingin mengirim informasi, informasi itu berjalan turun lapisan protokol ke IP di mana ia dienkapsulasi dalam datagram IP . Datagram itu kemudian diturunkan ke lapisan data link dari jaringan fisik perangkat untuk transmisi ke hop berikutnya, dalam perjalanan ke tujuan IP.

Namun, satu rentang alamat khusus disisihkan untuk fungsi loopback . Ini adalah kisaran 127.0.0.0 hingga 127.255.255.255. Datagram IP dikirim oleh host ke 127. x . x . alamat loopback x tidak diturunkan ke lapisan data link untuk transmisi. Sebagai gantinya, mereka "loop kembali" ke perangkat sumber di tingkat IP. Pada dasarnya, ini mewakili "hubungan pendek" dari tumpukan protokol normal; data dikirim oleh lapisan ketiga implementasi IP perangkat dan kemudian segera diterima olehnya.


Selain itu, Rutgers memiliki kursus Jaringan yang mencakup ilustrasi komunikasi antar-host yang normal ini,

normal, komunikasi antar tuan rumah

dan ini salah satu aliran data loopback:

                                                    aliran data loopback

Scott
sumber
4

Untuk bagian kedua dari pertanyaan Anda, jika Anda memasukkan nama host dari situs web dalam file host Anda dengan alamat 127.0.0.1 itu berarti bahwa ketika Anda mengetik alamat ke dalam browser Anda alih-alih menggunakan DNS untuk menemukan alamat yang benar ia menemukannya. dalam file host Anda, pertama-tama mengatasinya ke localhost dan alih-alih pergi ke alamat situs web, mulailah berbicara dengan mesin Anda yang menyebabkan situs web gagal memuat.

Kol
sumber
Saat ini, banyak OS yang mendukung 0.0.0.0, jadi gunakan itu untuk memblokir situs. Menghindari loop ...
Tamara Wijsman