значення стовпця локальної адреси Netstat


20

Коли я це роблю netstat -ntlp, стовпець називається Local Address:

  • іноді він виводить IP-адресу як 0.0.0.0:7180
  • а іноді 127.0.0.1:9001

Які наслідки мають обидва позначення?

Чи діє конкретна IP-адреса як фільтр для вхідних з'єднань? Наприклад, 127.0.0.1:9001він прийме лише з'єднання з localhost на порту 9001?

Відповіді:


13

Я думаю, ти відповів на власне запитання.

Як приклад, apacheє Listenопція, яка вказує, яку адресу та порт слухати. Залежно від того, як це встановлено, apacheслухатиме будь-яку IP-адресу, конкретну адресу: -

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

Наведені вище параметри відображаються як: -

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

і перекласти на: -

  • Слухати будь-яку IP-адресу (IPv4 або IPv6)
  • Слухайте будь-яку адресу IPv4 на цьому сервері
  • Слухайте лише на локальному хості IPv4
  • Прослуховуйте на зовнішній IPv4-адресі 192.68.0.5

Ви можете налаштувати свою службу на прослуховування лише localhostінтерфейсу, якщо ви не хочете, щоб хтось із зовнішніх отримував доступ до неї. Наприклад, якщо ви працюєте на сервері LAMP, ви мали б apacheпрослуховувати всі IP-адреси (щоб ваші користувачі могли отримати доступ до нього), тоді як mysqlбаза даних може бути налаштована як доступна лише з localhost(використовуючи bind=127.0.0.1директиву). Таким чином, phpпрацюючи на одному сервері, ви зможете отримати доступ до бази даних, тоді як зовнішні (і ненадійні) користувачі не зможуть отримати доступ до нього.


:::80не завжди означає IPv4 також unix.stackexchange.com/a/496150/333382
rfc2460

11

127.0.0.1 та 0.0.0.0

127.0.0.1означає локальний інтерфейс або певну адресу. Доступний лише з вашого місцевого господаря.

0.0.0.0 - це загальна адреса для кожного інтерфейсу.

Що netstat -ntlp Local Addressозначає "Роздрукуйте підключення tcp для активного прослуховування, покажіть IP-адреси як числові значення та покажіть PID та ім'я програми, яка використовує це з'єднання."


Різниця за прикладом

Наприклад, якщо я маю

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

це означає:

Служба prog1з PID 1189прослуховує порт 53з протоколом tcp. Він доступний лише з вашого місцевого господаря.

Служба prog2з PID 1189прослуховує порт 6666з протоколом tcp. Доступ до цього порту дозволений з будь-якого іншого комп’ютера у всіх мережах, до яких належить комп'ютер.

Джерела: 1 2 3


3

0.0.0.0 означає, що процес пов'язаний з усіма інтерфейсами.

127.0.0.1означає, що процес пов'язаний лише з 127.0.0.1інтерфейсом (циклічним зворотом).

Якщо у вас були інші інтерфейси, у вас можуть бути x.y.z.aзаписи, які вказують на те, що процес був пов'язаний з цими певними інтерфейсами.

Про процес буде сказано лише в тому випадку, якщо трафік надходить на інтерфейси, до яких він пов'язаний, так що так, це свого роду фільтр, хоча він зазвичай не описується в цих термінах.


2

"Місцева адреса" - це адреса, до якої пов'язана розглядаемая розетка. Це адреса, на яку він отримує з'єднання. Адреси, про які ви питаєте, - це "спеціальні адреси". Відповідно до сторінки керівництва для протоколу IPv4 Linux :

Є кілька спеціальних адрес: INADDR_LOOPBACK( 127.0.0.1) завжди посилається на локальний хост через пристрій зворотного зв'язку; INADDR_ANY ( 0.0.0.0) означає будь-яку адресу для прив'язки; INADDR_BROADCAST ( 255.255.255.255) означає будь-який хост і має такий самий ефект на прив'язку, як INADDR_ANYі з історичних причин.

Це означає для адреси 0.0.0.0те, що сокет може приймати з'єднання для будь-якої адреси в системі, на будь-якому інтерфейсі.


1

Як ви вже сказали, IP-адреса localhost приймає з'єднання лише до тих портів локально, тоді як IP 0.0.0.0 відноситься до портів, відкритих для всіх.

Наприклад

Місцеві

127.0.0.1:8307 VMWARE
127.0.0.1:25   MASTER

Для всіх

0.0.0.0:80    HTTP
0.0.0.0:443   SKYPE
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.