Netstat 로컬 주소 열의 의미


20

내가 할 때 netstat -ntlp열이 있습니다 Local Address:

  • 때로는 IP 주소를 다음과 같이 출력합니다. 0.0.0.0:7180
  • 그리고 때때로 127.0.0.1:9001

두 표기법의 의미는 무엇입니까?

특정 IP 주소가 들어오는 연결의 필터처럼 작동합니까? 예를 들어 127.0.0.1:9001포트 9001의 localhost 연결 만 허용합니까?

답변:


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데이터베이스에 대해서만 액세스 가능하도록 구성 할 수 있습니다 . 이 방법으로 동일한 서버에서 실행하면 데이터베이스에 액세스 할 수 있지만 외부 (및 신뢰할 수없는) 사용자는 데이터베이스에 액세스 할 수 없습니다.localhostbind=127.0.0.1php


:::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

그것의 의미는:

prog1PID가 있는 서비스 는 프로토콜이있는 1189포트 53에서 수신 합니다 tcp. 로컬 호스트에서만 액세스 할 수 있습니다.

prog2PID가 있는 서비스 는 프로토콜이있는 1189포트 6666에서 수신 합니다 tcp. 컴퓨터가 속한 모든 네트워크의 다른 컴퓨터에서이 포트에 액세스 할 수 있습니다.

출처 : 1 2 3


3

0.0.0.0 프로세스가 모든 인터페이스에 바인딩되어 있음을 의미합니다.

127.0.0.1프로세스가 127.0.0.1인터페이스 에만 연결됨을 의미합니다 (루프백).

다른 인터페이스가있는 x.y.z.a경우 프로세스가 해당 특정 인터페이스에 바인드되었음을 나타내는 항목 이있을 수 있습니다 .

트래픽이 바인드 된 인터페이스에 트래픽이 도착하는 경우에만 프로세스가 알려 지므로 일반적으로 이러한 용어로 설명되지는 않지만 일종의 필터입니다.


2

"로컬 주소"는 해당 소켓이 바인딩 된 주소입니다. 이것은 연결을받는 주소입니다. 당신이 요구하는 주소는 "특별한 주소"입니다. Linux IPv4 프로토콜 매뉴얼 페이지에 따르면 :

몇 가지 특수 주소가 있습니다. 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

알다시피, localhost의 IP는 로컬로 해당 포트에 대한 연결 만 허용하는 반면 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.