ý nghĩa của cột địa chỉ Netstat


20

Khi tôi làm netstat -ntlpcó một cột được gọi là Local Address:

  • đôi khi nó sẽ xuất địa chỉ IP thành 0.0.0.0:7180
  • và đôi khi 127.0.0.1:9001

Ý nghĩa của cả hai ký hiệu là gì?

Địa chỉ IP cụ thể có hoạt động như một bộ lọc cho các kết nối đến không? Ví dụ, 127.0.0.1:9001nó sẽ chỉ chấp nhận kết nối từ localhost trên port 9001?

Câu trả lời:


13

Tôi nghĩ bạn đã trả lời câu hỏi của riêng bạn.

Như một ví dụ, apachecó nó Listentùy chọn mà nói với nó mà địa chỉ và cổng để nghe trên. Tùy thuộc vào cách cài đặt này, apachesẽ lắng nghe bất kỳ địa chỉ IP nào, một địa chỉ cụ thể: -

Listen *:80
Listen 0.0.0.0:80
Listen 127.0.0.1:80
Listen 192.168.0.5:80

Các tùy chọn trên hiển thị dưới dạng: -

:::80
0.0.0.0:80
127.0.0.1:80
192.168.0.5:80

và dịch sang: -

  • Nghe trên bất kỳ địa chỉ IP nào (IPv4 hoặc IPv6)
  • Nghe trên bất kỳ địa chỉ IPv4 trên máy chủ đó
  • Chỉ nghe trên IPv4 localhost
  • Nghe trên địa chỉ IPv4 bên ngoài 192,68.0,5

Bạn có thể định cấu hình dịch vụ của mình để chỉ nghe trên localhostgiao diện nếu bạn không muốn bất kỳ ai bên ngoài truy cập vào nó. Ví dụ: nếu bạn đang chạy máy chủ LAMP, bạn sẽ apachenghe trên tất cả các địa chỉ IP (để người dùng của bạn có thể truy cập nó) trong khi mysqlcơ sở dữ liệu có thể được cấu hình để chỉ có thể truy cập từ localhost(sử dụng bind=127.0.0.1chỉ thị của nó ). Cách này phpchạy trên cùng một máy chủ sẽ có thể truy cập cơ sở dữ liệu trong khi người dùng bên ngoài (và không tin cậy) sẽ không thể truy cập vào cơ sở dữ liệu.


:::80không phải lúc nào cũng ngụ ý IPv4 cũng như unix.stackexchange.com/a/496150/333382
rfc2460

11

127.0.0.1 và 0.0.0.0

127.0.0.1có nghĩa là giao diện cục bộ hoặc địa chỉ loopback. Chỉ có thể truy cập từ localhost của bạn.

0.0.0.0 là một địa chỉ ký tự đại diện cho mọi giao diện.

Trên netstat -ntlp Local Addresscó nghĩa là "In các kết nối tcp nghe đang hoạt động, hiển thị IP dưới dạng giá trị số và hiển thị PID và tên của chương trình sử dụng kết nối này."


Sự khác biệt bằng ví dụ

Ví dụ nếu tôi có

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name                 
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1189/prog1
tcp        0      0 0.0.0.0:6666            0.0.0.0:*               LISTEN      1188/prog2

điêu đo co nghia la:

Dịch vụ prog1với PID 1189lắng nghe trên cổng 53với giao thức tcp. Nó chỉ có thể truy cập từ localhost của bạn.

Dịch vụ prog2với PID 1189lắng nghe trên cổng 6666với giao thức tcp. Truy cập vào cổng này được cho phép từ bất kỳ máy tính nào khác trên tất cả các mạng mà máy tính là một phần của.

Nguồn: 1 2 3


3

0.0.0.0 có nghĩa là quá trình được ràng buộc với tất cả các giao diện.

127.0.0.1có nghĩa là quá trình chỉ bị ràng buộc với 127.0.0.1giao diện (loopback).

Nếu bạn có các giao diện khác, bạn có thể có x.y.z.acác mục cho biết quá trình được ràng buộc với các giao diện cụ thể đó.

Một quy trình sẽ chỉ được thông báo nếu lưu lượng truy cập đến trên các giao diện mà nó bị ràng buộc, vì vậy, đó là một bộ lọc, mặc dù nó thường không được mô tả trong các điều khoản đó.


2

"Địa chỉ cục bộ" là địa chỉ mà ổ cắm trong câu hỏi bị ràng buộc. Đây là địa chỉ mà nó nhận được kết nối trên. Các địa chỉ bạn đang hỏi là "địa chỉ đặc biệt". Theo trang hướng dẫn cho giao thức IPv4 Linux :

Có một số địa chỉ đặc biệt: INADDR_LOOPBACK( 127.0.0.1) luôn đề cập đến máy chủ cục bộ thông qua thiết bị loopback; INADDR_ANY ( 0.0.0.0) có nghĩa là bất kỳ địa chỉ để ràng buộc; INADDR_BROADCAST ( 255.255.255.255) có nghĩa là bất kỳ máy chủ lưu trữ nào và có tác dụng tương tự đối với liên kết như INADDR_ANYvì lý do lịch sử.

Điều này có nghĩa là gì đối với địa chỉ 0.0.0.0là ổ cắm có thể nhận kết nối cho bất kỳ địa chỉ nào trên hệ thống, trên bất kỳ giao diện nào.


1

Như bạn đã nói, IP của localhost chỉ chấp nhận kết nối với các cổng đó cục bộ trong khi IP 0.0.0.0 đề cập đến các cổng được mở cho tất cả.

Ví dụ

Địa phương

127.0.0.1:8307 VMWARE
127.0.0.1:25   MASTER

Cho tất cả

0.0.0.0:80    HTTP
0.0.0.0:443   SKYPE
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.