Nmap
初期版に含まれていないスキャン手法の一つで、openとclosedを区別しないという特徴を持つスキャン手法である。ACKのみが立っているパケットを送出し、それに対する挙動でファイアウォールの挙動を確認するというものである。
ACKパケットに対してRSTが返されればopenもしくはclosed、タイムアウトやICMP到達不能エラーであればfilteredと判別可能である。
nmapが単なるポートスキャナではなくセキュリティスキャナと呼ばれる所以となる機能の一つが、OSおよびそのバージョンを特定する機能である。これは、Phrack 54号で発表された。既にTCP FINスキャンで説明したように、BSDベースのTCP/IPスタックは他のシステムと異なる応答を返す場合がある。このように、OSごとにTCP/IPスタックの実装が微妙に異なることを用いて、ポートスキャン同様のパケットを送出、それらのパケットに対する挙動を基に、OSおよびそのバージョンを特定するというものである。
この手法が確立されるまで、OSやそのバージョンを特定する方法といえばアプリケーションサービスのバナーなどに頼るしかなかったが、この手法では単にopenポートとclosedポートが1つずつあれば、確認が可能となる。nmapは様々なパケットを送出し、それに対する応答パケットの特徴を確認、その結果を多数の(2010年時点では1000以上の)OSおよびバージョン情報に付き合わせて、応答パケットの特徴との適合状況を出力する。完全に1つのバージョンに特定されるとは限らず、可能性のある複数のOSが%表記で結果表示されることもある。
nmapはGordon Lyonによって書かれたセキュリティスキャナである。ポートスキャン機能だけでなく、OSやバージョンの検出機能、サービスおよびそのバージョンの検出機能など、多くの機能を兼ね備えている。