ファイアウォールをスキャンして開いている送信ポートを見つけるにはどうすればよいですか?


9

ファイアウォールで保護されたネットワーク内でファイアウォールをスキャンして開いている発信ポートを見つけるために使用できるツールを探しています。

私はいくつかの調査を行い、Firewalkを見つけましたが、10年間維持されておらず、試してもうまくいかなかったようです。

私はいくつかグーグルを行い、nmapでこれを行うことができると言っているサイトを見つけましたが、これも機能させることができませんでした。

ファイアウォールの外側にすべてのポートをリッスンし、内部からポートスキャンを試みるよりも良い方法を知っている人はいますか?

回答:


4

たとえば、3つのサブネットとそれらの1つにサーバーがあるが、他の2つに開いているルールを確認したいとします。サーバーから他の2つに対してnmapスキャンを実行します。私は通常、次の行を使用します。

nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -P0 -sS -F -n --host_timeout 240000 --max_rtt_timeout 300 --initial_rtt_timeout 2000 --max_parallelism 250 192.168.123.0/24 192.168.234.0/24

nmapがフィルタリングされるポートを特定するため、同様の概念のルーティングをインターネットにも適用できます。


これをありがとう; fyi nmap構文が数秒間更新され、P0は非推奨になりました。更新されたコマンド:nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -Pn -sS -F -n --host_timeout 240 --max_rtt_timeout 3 --initial_rtt_timeout 2 --max_parallelism 250 <IPADDRESS>
jhaagsma

3

これが私がしたことです:

テスト中のネットワークに1台のマシンをセットアップし、インターネット上の別の場所(ファイアウォールの反対側)に1台をセットアップします。あなたはWindowsまたはLinuxを使用して問題ないはずです(私はCentOSを使用しました)。私はパブリックIPを持っていましたが、1:1 NATで動作すると思います。

インターネットマシンで、コンピューターのすべてのポートをncで開くコマンドを実行しました。やった

for i in `seq 1 65000`; do nc -l $i &; sleep 1; done

スリープは、一度に過剰な数のnetcatプロセスを生成しないようにするためにあります。うまくいきましたが、65000秒(一晩)かかりました。

テストしたネットワークでは、単に実行します

nmap -p- -PN <IP>

結果を待ちます。


serverfaultへようこそ!他の回答のスタイルにもっと合うように、あなたの回答を編集しました。自分で編集をクリックして、マークダウンを確認してください。墓文字( `)はコードセクションを示すために使用されるため、アポストロフィ( ')として使用すると、
マークダウン

1

Firebind.comはこのサービスを提供します。

UDPまたはTCPポートの任意の範囲で送信接続をテストできます。100ポートより大きい範囲をテストするには、無料のアカウントが必要です。


5
彼らのために働いていますか?
jscott

0

これらのポートで応答するために何かが必要なため、ファイアウォールの両側にマシンを配置するという考えが最適です。そのターゲットマシンがないと、ポートはファイアウォール自体で開いている可能性がありますが、そのポートでのトラフィックに応答しないため(応答しないはずです)、気付かないでしょう。ファイアウォールで閉じられたポートがパケットをドロップするだけなのか、開いているポートだけなのか、もう一方の端で何も応答しないのかを区別できない状況です。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.