~에 따르면https://networkengineering.stackexchange.com/a/57909/, 192.168.1.97로 전송된 패킷은 "호스트를 떠나지 않고, 주소가 192.168.1.97인 네트워크에서 수신된 패킷으로 처리됩니다." 루프백 127.0.0.1로 패킷을 보내는 것과 동일합니다.
nmap 127.0.0.1
더 많은 서비스 비율이 반환되는 이유는 무엇입니까 nmap 192.168.1.97
?
nmap 127.0.0.1
반환되는 서비스 도 반드시 반환되나요 nmap 192.168.1.97
? 청취 서버 192.168.1.97
도 청취해야 합니까 127.0.0.1
?
$ nmap -p0-65535 192.168.1.97
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-23 19:18 EDT
Nmap scan report for ocean (192.168.1.97)
Host is up (0.00039s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
3306/tcp open mysql
33060/tcp open mysqlx
Nmap done: 1 IP address (1 host up) scanned in 9.55 seconds
$ nmap -p0-65535 localhost
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-23 19:18 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00033s latency).
Other addresses for localhost (not scanned):
Not shown: 65529 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
631/tcp open ipp
3306/tcp open mysql
5432/tcp open postgresql
9050/tcp open tor-socks
33060/tcp open mysqlx
Nmap done: 1 IP address (1 host up) scanned in 5.39 seconds
감사해요.
답변1
간단히 말해서 두 인터페이스는 서로 다른 두 인터페이스(192.168.1.97 대 127.0.0.1)이며 서로 다른 방화벽 규칙 및/또는 서비스 수신이 적용될 수 있습니다. 동일한 컴퓨터에 있다는 것은 상대적으로 작은 의미입니다.
답변2
아니요, 외부 인터페이스의 포트에서 수신 대기하는 서비스가 반드시 해당 포트에서도 수신 대기하는 것은 아닙니다 localhost
.
이것을 다음과 같이 테스트할 수 있습니다.
nc -l external-ip-address port-number
그런 nmap
다음 에 대해 실행한 localhost
다음 외부 IP 주소에 대해 실행합니다.
답변3
nmap 127.0.0.1이 nmap 192.168.1.97보다 더 많은 서비스를 반환하는 이유는 무엇입니까?
보안을 강화하기 위해 많은 서비스가 기본적으로 127.0.0.1(및/또는 IPv6에 상응하는 것::1)에서만 수신하도록 구성되어 있습니다.
192.168.1.97을 수신하는 서버가 127.0.0.1에서도 수신합니까?
아니요
일반적으로 서비스는 청취할 청취 소켓을 생성할 수 있습니다.
- 특정 IP(예: 청취 소켓)는 해당 특정 IP로 향하는 트래픽만 허용합니다.
- 0.0.0.0 - 이 컴퓨터에 할당된 모든 IPv4 IP의 트래픽을 허용합니다.
- :: 이 컴퓨터에 할당된 모든 IPv6 IP의 트래픽을 허용합니다. 특정 운영 체제, 시스템 전체 구성 및 소켓별 옵션에 따라 시스템의 IPv4 IP로 향하는 트래픽을 허용할 수도 있고 허용하지 않을 수도 있습니다.
답변4
유형 127의 주소는 내부 용도로만 사용됩니다.RFC1122:
내부 호스트 루프백 주소입니다. 이 주소 형식은 호스트 외부에 나타나서는 안 됩니다.
이는 해당 서비스가 로컬에서 수신 대기하고 있음을 의미합니다. 이것은 192.168.1.97
라우터와 다른 컴퓨터가 귀하를 아는 방법인 공개 주소입니다. 127.0.0.1/8은 어떤 의미에서 네트워크의 "에뮬레이션"입니다. 테스트용으로 사용할 수 있고, 로컬 서비스를 실행하고 서비스 간에 패킷을 교환할 수 있습니다. 기본적으로 실제 인터넷 리소스와 동일합니다. 사실 이것은웹 개발자가 하는 일: 아름다운 제품이 실제로 인터넷에 연결될 프로덕션으로 이동하기 전에 로컬 환경을 설정하고 XAMP 또는 LAMP 스택을 로컬에서 실행합니다.
이제 eth0 또는 wlan0과 같은 공용 인터페이스의 127.xxx 유형 주소에서 패킷을 수신할 수 없습니다. 이런 일이 발생하면 이를 이라고 합니다.화성 패킷, 누군가가 귀하의 호스트나 네트워크를 공격하려고 할 수도 있습니다.
어떤 의미에서는 라우터와 컴퓨터에 비교할 수 있습니다. LAN에서는 라우터의 주소가 192.168.1.0이지만 인터넷에서는 68.125.xx.yy입니다(면책조항: 실제 IP 주소가 아닌 임의의 예입니다). 라우터는 포트 53(DNS)만 인터넷에 노출할 수 있지만 내부적으로는 포트 80(HTTP 제어판)과 53을 사용할 수 있습니다. 컴퓨터에서도 같은 생각입니다.
물론 서비스는 공용 또는 로컬 인터페이스에서만 수신하도록 구성되어야 합니다. 예를 들어,레디스 서버보안상의 이유로 127.0.0.1에서만 수신 대기하도록 사전 구성되어 있습니다.
당신은 또한 볼 수 있습니다