web-dev-qa-db-ja.com

「nmap 192.168.1.97」が「nmap 127.0.0.1」よりも少ないサービスを返す理由

https://networkengineering.stackexchange.com/a/57909/ によると、192.168.1.97に送信されたパケットは「ホストを離れませんが、アドレス指定されたネットワークから受信したパケットのように扱われます192.168.1.97に」したがって、パケットを送信して127.0.0.1をループバックするのと同じです。

nmap 127.0.0.1nmap 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

ありがとう。

7
Tim

つまり、これらは2つの異なるインターフェース(192.168.1.97と127.0.0.1)であり、異なるファイアウォールルールが適用されているか、サービスがリッスンしている可能性があります。同じマシン上にいることは、ほとんど意味がありません。

8
John

いいえ、外部インターフェースのポートをリッスンするサービスは、必ずしもlocalhostのポートもリッスンするとは限りません。

あなたは次のようなものでこれをテストすることができます

nc -l external-ip-address port-number

次に、nmaplocalhostに対して実行し、次に外部IPアドレスに対して実行します。

7
Kusalananda

nmap 127.0.0.1がnmap 192.168.1.97より多くのサービスを返すのはなぜですか?

セキュリティを向上させるために、多くのサービスはデフォルトで127.0.0.1(またはIPv6と同等:: 1)でのみリッスンするように構成されているため

192.168.1.97でリッスンするサーバーは、必ず127.0.0.1でもリッスンしますか?

番号

通常、サービスは、待機するリスニングソケットを作成できます。

  1. このようなリスニングソケットなどの特定のIPは、その特定のIP宛てのトラフィックのみを受け入れます。
  2. 0.0.0.0、これはマシンに割り当てられたすべてのIPv4 IPへのトラフィックを受け入れます。
  3. ::これは、マシンに割り当てられたすべてのIPv6 IPへのトラフィックを受け入れます。特定のOS、システム全体の構成、およびソケット固有のオプションに応じて、マシン上のIPv4 IP宛てのトラフィックを受け入れる場合と受け入れない場合があります。
6
plugwash

RFC1122 のとおり、127タイプのアドレスは内部専用です。

内部ホストループバックアドレス。このフォームのアドレスはホストの外に現れてはいけません。

つまり、これらのサービスはローカルでリッスンしています。 192.168.1.97はあなたの公開アドレスであり、ルーターや他のコンピュータがあなたを知っている方法です。ある意味で127.0.0.1/8は、ネットワークの「シミュレーション」です。これを使ってテストしたり、ローカルサービスを実行したり、ローカルサービス間でパケットを交換したりできます。これは、実際のインターネットリソースで行うのと基本的に同じことです。実際、それが Web開発者が行うこと です。彼らはローカル環境をセットアップし、XAMPまたはLAMPスタックをローカルで実行してから、洗練された製品が実際にインターネットに直面する本番環境に移行します。

これで、eth0やwlan0などのパブリック向けインターフェイスで127.x.x.xタイプのアドレスからパケットを受信することはありません。その場合、これは 火星のパケット と呼ばれ、誰かがホストまたはネットワークを攻撃しようとしている可能性があります。

ある意味では、ルーターとコンピューターの間の類似点にすることができます。 LANでは、ルーターのアドレスは192.168.1.0ですが、インターネットでは68.125.xx.yyと呼ばれています(ディスクラマー:ランダムな例。ここでは実際のIPアドレスではありません)。ルーターはインターネットのみのポート53(DNS)に公開する場合がありますが、内部的にはポート80(HTTPコントロールパネル)と53を使用できます。コンピューターについても同じ考えです。

もちろん、サービスは、パブリックインターフェイスまたはローカルインターフェイスでのみリッスンするように構成する必要があります。たとえば、 Redis server は、セキュリティ上の理由から、127.0.0.1でのみリッスンするように事前構成されています。

こちらもご覧ください

2