web-dev-qa-db-ja.com

Nmapを使用してポート転送をスキャンしますか?

Nmapでいくつかのテストを行うために、ルーターでポート転送を有効にしました。ポート4245の内部IPアドレス10.0.0.10がポート4245のパブリックIPアドレスに送信されています。x.x.x.x:4245でこれにアクセスできます

ただし、Nmapはポート4245が閉じていると報告しています。確実に、ポート番号を指定し、ホスト検出を無効にしています。これを両方とも試しましたTCP =とUDP。私が試したコマンドはSudo nmap -sS -Pn -p 4245 x.x.x.xSudo nmap -sU -Pn -p 4245 x.x.x.xです

これらの結果はどちらも、ポート4245が閉じていることを示しています。

注:x.x.x.xは私のパブリックIPアドレスです。

6
Gavin Youker

正解です。下記のTL; DRを参照してください!

Nmap問題ではなく、ポート転送の問題だと思います。ローカルネットワークからスキャンしていると思います(そうでない場合は無視してください)。

非常に単純な理由で、ポート転送はローカルネットワークからは機能しないことがよくあります。これがあなたのネットワークだとしましょう:

(A)--+
     |                    (           )
     |---(Rpr--R--Rpu)---(  Internet   )---(X)
     |                    (           )
(B)--+

AとBはローカルネットワークの2台のコンピューターで、どちらもプライベートIPアドレスを持ち、Rはルーター(NATとポート転送を行う)で、1つのパブリックアドレス(Rpu)​​と1つのプライベート(Rpr)LAN上のXはインターネット上のコンピューターであり、パブリックアドレスを持っています。

Rでポート転送を構成して、Rpu:4245(つまり、IPアドレスRpu、ポート4245)に到着するパケットがA:4245に転送されるようにしました。

XがRpu:4245にパケットを送信すると、Rに到着し、宛先アドレスがA:4245に変換されてAにルーティングされます。Aが応答すると、A:4245からXにパケットが送信されます。このパケットは送信されます宛先がLANの外にあり、Rがゲートウェイであるため、Rへ。 Rは送信元をA:4245からRpu:4245に変更し、パケットをルーティングします。パケットは、Rpu:4245からXへのパケットとしてXに到着し、すべて問題ありません。

BがRpu:4245にパケットを送信すると、Rに送信されます(RpuはLANの外にあり、Rはルーターであるため)。とにかく、Rがポート転送を行い、宛先をA:4245に設定し、パケット(BからA:4245)をAにルーティングするとします。Aが応答すると、A:4245からBにパケットを送信します。 BはLAN上にあるため、パケットはRには送信されず、直接Bに送信されます。パケットは、A:4245からBへのパケットとしてBに到着します。したがって、BからRpu:4245へのパケットへの応答として見ることができず、送信元アドレスが一致しません。

これは、Rが送信元アドレスをRpr(またはRpu、またはLAN外の任意のアドレス)に変更した場合にも機能します。その場合、AはRに応答を送信し、Rはアドレスを逆変換する可能性があるためです。場合。

TL; DR。 LANの外部にあるコンピューターからテストを実行します:nmap -sP4245 -p 4245 x.x.x.x-sP4245指示Nmap)。 LANからは、プライベートアドレスをスキャンして(同じオプションで)ポートが開いていることを確認できますが、ポート転送設定はテストされていません。

2
Pierre

NmapがTCP port a closedを報告している場合、これは、サービスへの接続を開始しようとしたときに応答(RST)を受け取ったことを意味します(応答を受信しなかった場合) 、あなたはfilteredの結果を得るでしょう、これは一般的に「何も返されなかったので何が起こっているのか分からない」ことを意味します。

通常、これはポートが開いているが、何も実行されていない(または受信した要求に応答する何も実行されていない)場合に発生します。

あなたの問題についてのいくつかの考え

1)どこからポートスキャンを行いますか?通常、ネットワークの内部から外部IPアドレスをスキャンしようとはしませんが、NATは混乱する可能性があります。

2)内部ネットワークから内部IPアドレス(10.0.0.10)をスキャンしようとすると、どのような結果になりますか?そのポートでオープンレスポンスを受け取りますか?

0
Rory McCune