私はこれを見つけるのに苦労しています。おそらくnmap
、ACKスキャンまたはACKスキャンを使用してステートフルファイアウォールとステートレスファイアウォールを区別できますが、ACKスキャンの出力でこれを識別する-sA
方法がわかりません。nmap
私が知る限り、nmap
ACKとマークされたパケットは宛先に送信され、宛先はいくつかの基準に従って応答するかどうかを決定します。
- ポートが開いているか閉じていてフィルタリングされていない場合、宛先はRSTで応答します。
- フィルタがトラフィックを破棄すると、宛先はまったく応答しません。
- フィルタがトラフィックを拒否すると、宛先は ICMP エラーメッセージを送信します。
その場合、 "nmap"はRSTで応答するすべてのポートを報告します。フィルタリングされていないそして他のすべてのポートろ過。これは次のとおりですIPTABLES
。
$ sudo nmap -sA -T4 192.168.219.135
Starting Nmap 7.12 ( https://nmap.org ) at 2016-06-28 16:35 EDT
Nmap scan report for metasploitable (192.168.219.135)
Host is up (0.00027s latency).
Not shown: 994 filtered ports
PORT STATE SERVICE
22/tcp unfiltered ssh
25/tcp unfiltered smtp
53/tcp unfiltered domain
70/tcp unfiltered gopher
80/tcp unfiltered http
113/tcp unfiltered ident
MAC Address: 00:0C:29:B7:F7:70 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 4.40 seconds
この出力に基づいて、これがステートフルなのかステートレスなのか、どうすればわかりますか?
私はこの本を含むそのトピックに関するすべてを読んでいましたnmap
が、ただ一つの例も私には理解できません。これは基本的に本の例10.2と同じ出力ですnmap
。実際にはほぼ同じです。問題は、本がこれがステートフルルールを実行しているホストへの出力であると述べていることですnmap
!nmap
IPTABLES
ステートレスファイアウォールでステートフルファイアウォールと同じ出力を取得できる場合は、nmap
ACKスキャンを使用してどのファイアウォールがあるのかをどうやって知ることができますか?
あまりにも苦労して助けを得ることができれば本当に感謝します。
答え1
ステートフルファイアウォールとステートレスファイアウォールの動作の違いを考えてみましょう。ステートレスファイアウォールはポート番号に基づいてブロックしますが、着信ACKパケットのみをブロックすることはできません。これは、発信接続に応答して送信できるためです。したがって、-sA
検索の観点からは、ファイアウォールはSYNパケットのみをフィルタリングするため、ポートは「フィルタリングされていません」と表示されます。
一方、ステートフルファイアウォールは、着信ACKパケットが確立された発信接続の一部であるかどうかを確認できます。のように要求されていない場合にのみパケットをブロックします-sA
。したがって、Nmap はポートを「フィルタリング済み」とマークします。
したがって、最終的な結論は次のとおりです。 ACKスキャンで一部のポートが「フィルタリング済み」とマークされている場合、これはおそらくステートフルファイアウォールである可能性があります。すべて「フィルタリングされていません」と表示されますが、通常のSYNチェックでいくつかの「フィルタリング済み」と表示される場合、これはステートレスファイアウォールです。
答え2
以下の回答に同意します。ボナスバイキングズ。即興では、基本的にいくつかのシステム実装の詳細を利用するウィンドウスキャン()があります-sW
(したがって、nmapは常に信頼できないという警告を表示します)。 RSTから返されたパケット(-sA
または-sW
)はTCPウィンドウフィールドをチェックし、ポートを開くか閉じるかを決定します。