web-dev-qa-db-ja.com

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

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

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

10

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

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

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

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

traceroute 10.1.1.1

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

11
user9517

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

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

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

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

12
bonsaiviking

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

より長い答え:

差出人: https://nmap.org/book/man-port-scanning-basics.html

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

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

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

5
Maciek Sawicki

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

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

2
Makdaam