Localhost 127.0.0.1 hoạt động như thế nào?


17

Tôi tìm thấy một số bài viết liên quan đến điều này, nhưng chúng không đủ cho tôi. Tôi muốn biết làm thế nào các localhostcông trình và tại sao nó giống nhau trên nhiều máy khác nhau?

Làm thế nào để localhostchặn truy cập vào trang web khi chúng tôi sử dụng nó trong hosttệp để chặn trang web?


2
Tôi xin lỗi nhưng bạn đã hoàn toàn lạc lõng với câu hỏi thứ hai của bạn ... ý bạn là gì?
Windos

1
@Windos, Khi bạn thêm một mục vào tệp máy chủ như "127.0.0.1 www.blah.com", nó sẽ chuyển hướng trang web đó đến localhost (dù sao cũng được sử dụng để làm việc với IE8)
tzup

Câu trả lời:


23

Tôi sẽ không nói về trường hợp Windows ở đây, bởi vì nó hơi khác một chút, nhưng hãy nói điều này: Trong mọi hệ điều hành * giống như Unix, bạn có hai thiết bị mạng:

  • Một thiết bị loopback
  • Một thiết bị Ethernet

Cái đầu tiên hoàn toàn là "ảo". Nó giống như một đầu cắm Ethernet mà bạn không thể nhìn thấy. Cái thứ hai phải làm với phích cắm Ethernet trong máy tính của bạn.

nhập mô tả hình ảnh ở đây

Giao diện loopback làm gì? Mỗi lưu lượng truy cập mà bạn gửi đến loopback sẽ quay trở lại.

Giống như thiết bị Ethernet của bạn có địa chỉ IP (ví dụ 192.168.1.20), thiết bị loopback cũng sẽ có địa chỉ IP, cụ thể là 127.0.0.1. Để làm cho nó dễ dàng hơn, bạn cũng có thể truy cập nó localhost.

Nếu bạn có một cái nhìn vào một /etc/hoststệp Unix điển hình , bạn sẽ thấy rằng 127.0.0.1 được ánh xạ tới "localhost". Vì vậy, bất cứ khi nào bạn gõ "localhost", máy tính của bạn sẽ biết gọi 127.0.0.1.

Và đây là lý do tại sao bạn có thể "chặn" các ứng dụng. Giả sử bạn không muốn máy tính của mình gửi dữ liệu tới Microsoft. Sau đó, bạn có thể chỉ cần chuyển hướng mọi yêu cầu microsoft.comđến 127.0.0.1 thay vào đó. Mọi nỗ lực liên lạc microsoft.comsẽ dẫn đến một thất bại.

* mọi hệ thống thực sự có cổng Ethernet phần cứng


Trong 'dows, Hệ thống con DNS sẽ phân giải localhost thành 127.0.0.1 và lưu lượng truy cập đến 127.0.0.1 thậm chí không bao giờ đi đến một giao diện, các vòng lặp ngăn xếp mạng ngay phía sau (nó thực sự giống như Unix, nhưng không có giao diện ảo như một biểu hiện của quá trình).
jcrawfordor

Mặc dù bạn có thể cài đặt Bộ điều hợp Microsoft Loopback, nhưng nó không hoàn toàn giống như vậy.
slhck

Ngày nay, nhiều hệ điều hành hỗ trợ 0.0.0.0, vì vậy hãy sử dụng nó để chặn các trang web thay thế. Tránh vòng lặp ...
Tamara Wijsman

8

Địa chỉ Giao thức Internet (IP) thuộc một trong bốn loại cơ bản.

  1. Địa chỉ được sử dụng để liên lạc với các máy tính khác trên khắp thế giới,
  2. Địa chỉ được sử dụng để liên lạc với máy tính chỉ trong một công ty hoặc mạng cụ thể,
  3. Địa chỉ được sử dụng để phát thông tin giữa các máy tính trên mạng,
  4. Địa chỉ được sử dụng để cho phép một máy tính nói chuyện với chính nó.

Theo thỏa thuận, 127.0.0.1 là một trong những địa chỉ nằm trong danh mục cuối cùng trong số đó.

Là con người, chúng ta không có xu hướng nhớ số IP rất tốt, nhưng chúng ta không gặp vấn đề gì khi nhớ các tên như superuser.com, www.google.com và các tên tương tự khác. Khi internet còn nhỏ (rất nhỏ), con người đã chia sẻ tệp "máy chủ" cho người khác trên internet để họ không phải nhớ số. Tệp lưu trữ đó chứa các cặp địa chỉ IP và một hoặc nhiều tên máy chủ lưu trữ. Khi ai đó cố gắng truy cập máy chủ theo tên của nó, phần mềm máy tính đã biết đủ để tìm kiếm nó trong tệp máy chủ. Internet đã phát triển rất nhiều kể từ đó đến nay chúng tôi sử dụng một hệ thống tên miền (DNS) để phân giải tên thành số IP ngoài việc sử dụng tệp máy chủ kiểu cũ. Hầu hết các máy tính được thiết lập để tìm kiếm tên trong tệp máy chủ trước, sau đó trong DNS nếu không thành công.

Bây giờ bạn đã có nền, đây là cách nó hoạt động (thường):

Khi bạn thêm mục này vào tệp máy chủ của mình, bất cứ khi nào máy tính của bạn cố gắng tra cứu www.foo.com, nó sẽ cố gắng truy cập trang web đó trên địa chỉ IP 127.0.0.1 vì bạn đã nói rằng đó là Địa chỉ Internet cho www. foo.com. Hãy nhớ rằng 127.0.0.1 sẽ cho phép một máy tính nói chuyện với chính nó, vì vậy cố gắng truy cập 127.0.0.1 trong trình duyệt của bạn sẽ cố gắng liên hệ với máy chủ web trên máy tính của bạn. Nếu bạn đã đặt 2.3.4.5 thay vì 127.0.0.1, nó sẽ cố liên hệ với máy tính theo địa chỉ 2.3.4.5 khi mở www.foo.com.

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

Điều tồi tệ của việc sử dụng tệp máy chủ cho những thứ như thế này là khi bạn thêm một mục vào tệp máy chủ, bạn phải chịu trách nhiệm về việc cập nhật thông tin đó. Nếu bạn không đặt mục nhập trong tệp máy chủ của mình, máy tính của bạn sẽ cố gắng sử dụng DNS để tra cứu địa chỉ IP, sau đó sử dụng địa chỉ IP đó để liên hệ với máy chủ.

Điều tốt về nó là nếu bạn không bao giờ muốn cho phép bất cứ ai nói chuyện với www.foo.com chỉ bằng tên máy chủ trên máy tính của bạn, việc thêm mục vào tệp máy chủ của bạn có thể (từ khóa - có thể) ngăn điều đó xảy ra. Nếu mục tiêu là ngăn chặn việc tiếp cận một trang web cụ thể bằng bất kỳ phương tiện nào (không chỉ bằng tên máy chủ), có nhiều cách khác tốt hơn và đáng tin cậy hơn để ngăn chặn điều đó xảy ra như sử dụng tường lửa đúng cách.


Ngày nay, nhiều hệ điều hành hỗ trợ 0.0.0.0, vì vậy hãy sử dụng nó để chặn các trang web thay thế. Tránh vòng lặp ...
Tamara Wijsman

7

Localhost hoặc 127.0.0.1 chỉ đơn giản là một 'tên' tích hợp cho máy tính cục bộ của bạn.

Đó là, 127.0.0.1 được gọi là "loopback", bởi vì nó chỉ là một con trỏ trỏ về máy của bạn. Đó là một Địa chỉ IP dành riêng cũng có thể được viết là localhost theo định nghĩa.

Mục đích của việc này là cho phép một người nói chuyện với máy tính của một người bằng cách gửi tín hiệu ra bên ngoài và sau đó lặp lại tín hiệu này để tín hiệu cũng được đọc bởi cùng một máy tính của bạn.

Giả sử bạn đang chạy một máy chủ trên máy của mình-- để truy cập nó, bạn phải gửi yêu cầu đến máy chủ (gửi gói đến 127.0.0.1) và máy chủ của bạn phải đọc nó (hệ thống của bạn lặp lại gói tin đến hệ thống cục bộ của bạn trên 127.0.0.1 sau đó được đọc bởi phần mềm máy chủ của bạn).


5

Tôi đã phát hiện ra một bài thuyết trình tại Hướng dẫn TCP / IP khiến tôi rất ấn tượng:

Thông thường, khi một ứng dụng TCP / IP muốn gửi thông tin, thông tin đó sẽ truyền xuống các lớp giao thức đến IP nơi nó được gói gọn trong một datagram IP . Sau đó, datagram đó chuyển xuống lớp liên kết dữ liệu của mạng vật lý của thiết bị để truyền tới bước nhảy tiếp theo, trên đường đến đích IP.

Tuy nhiên, một dải địa chỉ đặc biệt được dành riêng cho chức năng loopback . Đây là phạm vi 127.0.0.0 đến 127.255.255.255. IP datagram được gửi bởi một máy chủ đến 127. x . x . địa chỉ loopback x không được truyền xuống lớp liên kết dữ liệu để truyền. Thay vào đó, họ đã lặp lại một lần nữa cho các thiết bị nguồn ở cấp độ IP. Về bản chất, điều này đại diện cho một mạch ngắn mạch ngắn của các ngăn xếp giao thức bình thường; dữ liệu được gửi bởi triển khai IP lớp ba của thiết bị và sau đó nhận được ngay lập tức.


Ngoài ra, Rutgers có một khóa học Mạng bao gồm minh họa về giao tiếp giữa các máy chủ bình thường,

thông thường, liên lạc giữa các máy chủ

đây là một trong những luồng dữ liệu loopback:

                                                    luồng dữ liệu loopback


4

Đối với phần thứ hai của câu hỏi của bạn, nếu bạn đặt tên máy chủ của một trang web trong tệp máy chủ của mình với địa chỉ 127.0.0.1, điều đó có nghĩa là khi bạn nhập địa chỉ vào trình duyệt của bạn thay vì sử dụng DNS để tìm địa chỉ chính xác, nó sẽ tìm thấy địa chỉ chính xác. trong tệp lưu trữ của bạn trước tiên giải quyết nó thành localhost và thay vì truy cập vào địa chỉ của trang web, hãy bắt đầu nói chuyện với máy của bạn khiến trang web không tải được.


Ngày nay, nhiều hệ điều hành hỗ trợ 0.0.0.0, vì vậy hãy sử dụng nó để chặn các trang web thay thế. Tránh vòng lặp ...
Tamara Wijsman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.