NMAPの定義では、パケットフィルタリングによってプローブがポートに到達できないため、フィルタリングされていないポートは開いているか閉じているかを判別できません。 (ISBN 9780979958717ページ77)
通常、ユーザーとターゲットの間には複数のデバイスがあります。ファイアウォール、ルーター、スイッチ、およびその他のネットワークデバイスが、パケットが実際にターゲットに到達するのを制限できる方法に沿って。また、ホストベースのファイアウォールまたはアプリケーションアクセス制御により、フィルタリングされた応答が発生する可能性があります。
ICMPエラーメッセージの応答でフィルタリングデバイスから応答が返される場合がありますが、ほとんどの場合、ルートのどこかでパケットがドロップされます。
あなたの仮定:
ほとんどのオペレーティングシステムでは、TCPスリーウェイハンドシェイクの処理は、オペレーティングシステムのネットワークコードの責任です。アプリケーションは、listen()を使用して特定のポートで接続を受信することにのみ関心があると宣言できます。システムコール。ポートでリッスンしているアプリケーションがある場合、オペレーティングシステムはSYN/ACKでSYNに応答し、そうでない場合はRSTで応答します。
これがデフォルトの動作です。これは、ホスト上のパケットフィルタリングメカニズムなど、さまざまな方法で変更できます。さらに、TCP/IPの特別な実装は、意図的に動作が異なる場合があります。
NMAPがSYNパケットに応答してSYN/ACKもRSTも受信しない場合、NMAPはそのポートを「フィルタリング済み」として報告します。応答がなかった理由を判別する方法はありません。逆に、介在するファイアウォールがRSTで応答してポートをブロックすると、プローブパケットが実際に宛先に到達しなかったとしても、NMAPはポートが閉じていると報告します。
要するに、あなたの見積もりは少なくとも不正確です。また、NMAPは、パケットフィルタリング以外の理由で、ポートが開いているか閉じているかをotherの理由で判別できない場合、ポートをフィルタリング済みとして報告します。パケットフィルタリングは、最も一般的な原因であるため、その結果の代名詞となっています。さらに、パケットフィルターが介在しているためにポートが開いているか閉じているかを判別できない場合、NMAPはポートをclosedとして報告することさえあります。
最も単純な形式のtargetネットワークに入ろうとすると:
インターネット---ファイアウォール---ターゲット
少なくとも3つのレベルのフィルタリングを通過します。
これらのレベルのeachで、最初のIPパケット(およびESPまたはAHパケット)としての他のプロトコルパケット)は、4種類の処理を受け取る可能性があります。
実際のネットワークは、この基本的なレンガで構成されています。
ここにいくつかの質問があります。私はそれらを言い換えて、適切な応答を与えることができるようにしましょう。
質問1トラフィックがホストに到達した場合、システムはSYN/ACKまたはRSTで応答しますか?
短い回答-必ずしもそうではありませんが、ICMP宛先到達不能(ポート到達不能)を取得する可能性があります。これは、そのポートで待機しているプロセスがない場合に受け入れ可能な応答と見なされます( RFC 1122 、40ページと RFC 792 、5ページ)。また、まったく返信がない場合もあります。残念ながら、誰もがRFC仕様に準拠しているわけではありません。残念ながら、SYNにFINで応答する実装を見てきました。はい、それはそれほど悪いことかもしれません。
質問2。ポートに到達するために管理するすべてのプローブは適切に応答されますか?
短い答え-必ずしもそうではありませんが、TCPオペレーティングシステム全体のスタック実装は異なります。たとえば、リスナプロセスがスワップアウトされた限られたリソースを備えた組み込みシステムが、プロセスによってがメモリに戻され、返信の可能性が閉じられました。これは規則というよりは例外ですが、誰もが標準に準拠するわけではないことに注意してください。一部にはSYNフラッド保護メカニズムが組み込まれている場合がありますDoSの試みとして、同じホストからのSYNセグメントが多すぎる可能性があります。
質問3。アプリケーションはプローブを無視できますか?
通常、それを行うのはアプリケーションの責任ではなく、これらの処理を行うのはOSスタックです。独自のプロトコルハンドラーを実装できないと言っているのではありませんが、まれなケースです。しかし、TCPハンドシェイクの通信の一部に発言権があるアプリケーションはほとんどありません。
これらの回答がお役に立てば幸いです:-)