私がやるnetstat -ntlp
と、と呼ばれる列がありますLocal Address
:
- 時々それはIPアドレスを出力します
0.0.0.0:7180
- そして時折
127.0.0.1:9001
両方の表記法の意味は何ですか?
特定のIPアドレスは、着信接続のフィルターのように機能しますか?たとえば、127.0.0.1:9001
ポート9001のローカルホストからの接続のみを受け入れますか?
私がやるnetstat -ntlp
と、と呼ばれる列がありますLocal Address
:
0.0.0.0:7180
127.0.0.1:9001
両方の表記法の意味は何ですか?
特定のIPアドレスは、着信接続のフィルターのように機能しますか?たとえば、127.0.0.1:9001
ポート9001のローカルホストからの接続のみを受け入れますか?
回答:
あなたはあなた自身の質問に答えたと思います。
例として、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
。このポートへのアクセスは、コンピューターが属するすべてのネットワーク上の他のコンピューターから許可されます。
0.0.0.0
プロセスがすべてのインターフェースにバインドされていることを意味します。
127.0.0.1
プロセスが127.0.0.1
インターフェイスにのみバインドされることを意味します(ループバック)。
他のインターフェイスがある場合x.y.z.a
、プロセスがそれらの特定のインターフェイスにバインドされていることを示すエントリがある場合があります。
プロセスは、トラフィックがバインドされているインターフェースに到着した場合にのみ通知されるため、通常、これらの用語では説明されていませんが、一種のフィルターです。
「ローカルアドレス」は、問題のソケットがバインドされているアドレスです。これは、接続を受信するアドレスです。あなたが尋ねているアドレスは「特別なアドレス」です。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