내가 할 때 netstat -ntlp
열이 있습니다 Local Address
:
- 때로는 IP 주소를 다음과 같이 출력합니다.
0.0.0.0:7180
- 그리고 때때로
127.0.0.1:9001
두 표기법의 의미는 무엇입니까?
특정 IP 주소가 들어오는 연결의 필터처럼 작동합니까? 예를 들어 127.0.0.1:9001
포트 9001의 localhost 연결 만 허용합니까?
내가 할 때 netstat -ntlp
열이 있습니다 Local Address
:
0.0.0.0:7180
127.0.0.1:9001
두 표기법의 의미는 무엇입니까?
특정 IP 주소가 들어오는 연결의 필터처럼 작동합니까? 예를 들어 127.0.0.1:9001
포트 9001의 localhost 연결 만 허용합니까?
답변:
나는 당신이 당신의 자신의 질문에 대답했다고 생각합니다.
예를 들어, 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
번역 :-
localhost
외부 사람이 액세스하지 못하게 하려면 인터페이스 에서만 수신하도록 서비스를 구성 할 수 있습니다 . 예를 들어, LAMP 서버를 실행하는 경우 apache
모든 IP 주소를 수신하고 (사용자가 액세스 할 수 있도록) 지시문을 사용하여 mysql
데이터베이스에 대해서만 액세스 가능하도록 구성 할 수 있습니다 . 이 방법으로 동일한 서버에서 실행하면 데이터베이스에 액세스 할 수 있지만 외부 (및 신뢰할 수없는) 사용자는 데이터베이스에 액세스 할 수 없습니다.localhost
bind=127.0.0.1
php
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
. 컴퓨터가 속한 모든 네트워크의 다른 컴퓨터에서이 포트에 액세스 할 수 있습니다.
"로컬 주소"는 해당 소켓이 바인딩 된 주소입니다. 이것은 연결을받는 주소입니다. 당신이 요구하는 주소는 "특별한 주소"입니다. 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
하는 것은 소켓이 시스템의 모든 주소와 인터페이스에 대한 연결을 수신 할 수 있다는 것입니다.
:::80
항상 IPv4를 의미하지는 않습니다. unix.stackexchange.com/a/496150/333382