実際にTCPポート通信をフィルタリングしているものを確認する方法はありますか?


10
nmap -p 7000-7020 10.1.1.1

フィルタリングされたすべてのポートを出力します

Starting Nmap 6.40 ( http://nmap.org ) at 2015-03-04 12:18 EET
Nmap scan report for 10.1.1.1
Host is up (0.00091s latency).
PORT     STATE    SERVICE
7000/tcp filtered afs3-fileserver
7001/tcp filtered afs3-callback
7002/tcp filtered afs3-prserver
7003/tcp filtered afs3-vlserver
7004/tcp filtered afs3-kaserver
7005/tcp filtered afs3-volser
7006/tcp filtered afs3-errors
7007/tcp filtered afs3-bos
7008/tcp filtered afs3-update
7009/tcp filtered afs3-rmtsys
7010/tcp filtered ups-onlinet
7011/tcp filtered unknown
7012/tcp filtered unknown
7013/tcp filtered unknown
7014/tcp filtered unknown
7015/tcp filtered unknown
7016/tcp filtered unknown
7017/tcp filtered unknown
7018/tcp filtered unknown
7019/tcp filtered unknown
7020/tcp filtered unknown

Nmap done: 1 IP address (1 host up) scanned in 2.78 seconds

これらのポートを正確にフィルタリングしているものを確認する方法はありますか?

回答:


11

これは、nmapのドキュメントがfiltered状態について言うことです

パケットフィルタリングによってプローブがポートに到達できないため、filtered Nmapはポートが開いているかどうかを判断できません。フィルタリングは、専用のファイアウォールデバイス、ルータールール、またはホストベースのファイアウォールソフトウェアから行うことができます...

フィルタリングを実行しているものを見つける唯一の方法は、ユーザーとリモートターゲットの間の「マシン」を知ることです。

これは、特別なTCPパケットを使用してユーザーとターゲット間のホストを特定しようとするルートトレースユーティリティを使用して実現できます。あなたの場合、コマンドは次のようになります。

traceroute 10.1.1.1

自分とターゲットの間のマシンがわかったら、各マシンの構成を調べて、それがフィルタリングしているかどうか、どのようにしてフィルタリングしているかを調べます。


これらの2台のマシンにnmap -p 7000-7020 localhostはアクティブなソフトウェアファイアウォールがなく、ポートが開いていることを示し、専用ファイアウォールが開いていると報告されています。
Eduard Florinescu 2015年

4
あなたが持っている証拠は、何かがフィルタリングしていることを示唆していますが、私たちはあなたの設定を知らないので、それが何であるかを知ることができません。ホストベースのファイアウォールは、ループバック(localhost)インターフェイス上のすべてのトラフィックを許可することが多いため、誤解を招く可能性のあるテストです。
user9517 2015年

Linuxをiptables "-j DROP"で使用する可能性はありますか?nmapのドキュメントでフィルタリングされているとは、実際には任意のプロトコルでドロップされたパケットです。
リシャシン2015年

このソフトウェアは実際に外部IPにバインドされていますか?代わりにすべてが127.0.0.1にバインドされている場合、これが原因である可能性があります。netstatコマンドをチェック
devicenull

12

Nmapは、フィルタリングの原因に関する詳細情報を取得するいくつかの方法を提供します。

  • この--reasonオプションは、「フィルターされた」ポート状態を引き起こした応答のタイプを表示します。これは、「応答なし」、「管理者による禁止」などの可能性があります。
  • 応答パケットのTTLは、ポートの要素のreason_ttl属性としてXML出力で報告されstateます。フィルターされたポートのTTLが開いているポートのTTLと異なる(通常はそれよりも大きい)場合、TTLの差は、ターゲットとフィルターデバイスの間のネットワーク距離です。ICMPパケットとTCPパケットに異なる初期TTLを使用するターゲットや、TTL情報を改ざんまたは上書きするフィルタリングデバイスなどの例外があります。
  • この--traceroute機能は、ルートに沿ったホップに関する情報を表示します。そのいずれかがトラフィックをフィルタリングしている可能性があります。場合によっては、ホップの1つの逆引きDNS名は「firewall1.example.com」のようなものになることもあります
  • firewalkNSEスクリプトは、パケットがブロックされている場所を見つけるための試みで、ルートに沿って異なるホップでタイムアウトします初期のTTLでパケットを送信します。これは、前の2つの手法を組み合わせたようなものであり、通常は非常にうまく機能します。

Nmapの現在リリースされていない開発バージョンも、-v --reasonオプション付きの通常のテキスト出力で応答パケットのTTLを報告します。ただし、現時点では、この情報を取得するにはXML出力を使用する必要があります。

追加用に編集Nmap 6.49BETA1は、-v --reasonまたはを使用したテキスト出力で応答パケットのTTLを表示する最初のリリース-vvであり、2015年6月にリリースされました。


1
非常に便利なオプション+1
Eduard Florinescu

はい、--script=firewalk私が探していたものです。ありがとう。
ulidtko

5

短い答え-いいえ、それを見る方法はありません。

より長い答え:

送信元:https : //nmap.org/book/man-port-scanning-basics.html

「パケットフィルタリングによりプローブがポートに到達できないため、フィルタリングされたNmapはポートが開いているかどうかを判断できません。フィルタリングは、専用のファイアウォールデバイス、ルータールール、またはホストベースのファイアウォールソフトウェアから行われる可能性があります。情報は、タイプ3コード13(宛先到達不能:管理上禁止された通信)などのICMPエラーメッセージで応答する場合がありますが、応答せずに単にプローブをドロップするフィルターの方がはるかに一般的です。これにより、Nmapは、プローブがフィルタリングではなくネットワークの輻輳が原因でドロップされました。これにより、スキャンが大幅に遅くなります。」

tracerouteなどのツールを使用して、ネットワークトポロジの検出を試すことができます。通常、ポートは、それ自体のホスト(ipテーブルなど)、ターゲットネットワークエッジルーター、ターゲットネットワークコアルーター、またはラックL3スイッチの上部でフィルター処理されます。

ターゲットホストと同じサブネット内にいる場合、ファイアウォールがターゲットマシン上にあることがほぼ確実です。


2

フィルターされたポートの1つに対するtcptraceの結果を、開いているポート(または標準のtraceroute)に対するtcptraceと比較してみてください。tcptracesが同じ場合は、宛先マシンにポートをフィルタリングしている何かがあることを意味します。

更新:私はtcptracerouteを意味し、エイリアスを設定しました。

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