web-dev-qa-db-ja.com

ルーターによってNAT)によってマップされる内部ポートと外部ポートを識別する方法は?

たとえば、私のHTTP port 80が開かれ、ルーターによって外向きのport 42300にマッピングされます。

接続のために開いている私のport 150が、ルーターにアクセスせずにどの外部ポートにマップされているかを識別する方法はありますか?

ルーターが特定の内部ポートを必要な外部ポートに手動でマップする方法を設定できることを理解しています。

1
Wong Wai Jie

簡単ではありませんが、これをどのように視覚化するかを再考する必要があります。着信接続を調べているので、逆に視覚化する方が便利です。これが、これがポート転送と呼ばれる理由です。

ポートはルーターのパブリックIPアドレスで開かれ、内部リソースのアドレスとポートに転送されます。

したがって、ルーターはポート42300を開いており、パブリックIPでこのポートをリッスンしており、着信接続を内部サーバーのポート80に転送します。

したがって、あなたの質問は、「ルーターのどのポートが内部サーバーのポート150に転送されるかをどのように判断できますか」と表現する方が適切です。これが機能する方法のため、接続は外部ソースから適切なポートのパブリックIPアドレスに開始する必要があります。

適切なポートがわからず、ルーターにアクセスしてポートが何であるかを確認できないため、すべてを試して、どれが接続されているかを確認するしかありません。

nmap ツールを使用してこれを行うことができます。

2
Paul

ポートフォワーディングの概念の説明については、Paulの回答を参照してください。

ルーターを管理している誰か(その所有者?)がコンピューターのポート150に何かを転送するように以前に話し、彼らが選択したポートを通知しなかった場合を除いて、答えは驚くほど簡単です。ルーターはコンピューターに転送されます。

(そうでない場合は、Paulが提案したように、nmapで開いているポートを見つけて、使用するアプリケーションですべての候補をテストするだけです。)

(最近では、多くの人の迷惑になっていますが)一般的なクライアントのセットアップでは、ほとんどのコンピューターのポートにインターネットの大部分からアクセスする必要はなく、多くの場合、マルウェアやセキュリティメカニズムが弱いオペレーティングシステムのハッキング。したがって、ファイアウォールが発明され、それ以降、一部の設定ではNATデバイス(「ホームルーター」と呼ばれることが多い)に取って代わられました。

NATデバイスは、原則として、多くのコンピューターがローカルネットワークからインターネットを介してインターネットにアクセスできるようにしますが、ポートがローカルネットワーク上の特定のコンピューターに明示的に転送されない限り、通常、トラフィックを反対方向に通過させません。

特定のIPアドレスには有限数(iirc 2 ^ 16-1)の{tcp、udp}ポートがあるため、ルーターのファイアウォール部分が不要であっても、ルーター上のすべてのコンピューターのすべてのポートを開くことができない可能性があります。接続されているコンピューターが1台しかない場合を除き、ローカルネットワーク(原則として10.0.0.0/8ネットワークの場合は2 ^ 24-1デバイス)。デフォルト設定では、事実上常にポートを転送しません。

2
Eroen