はじめに
nmapでポートスキャンするときの対象ポートの指定、なにも指定しなければ nmap-services にあるポートが対象だと思っていたらそれは昔の話で今は指定無しだと決まった1000ポートが対象だった。nmap-services にあるポート対象にしたい場合には、「--port-ratio=0.0」 をつける必要あり。
せっかくだからよく使うオプションもまとめておいた
例
※自分の所有しているホスト以外には絶対にかけないこと!!!
-
Ex: 利用される可能性が高いポートに対してTCP SYNスキャン
$ sudo nmap -v -sS -oA nmap_outout --port-ratio=0.0 対象のIPアドレス
-
Ex: 利用される可能性が非常に高いポートに対してTCP SYNスキャン
$ sudo nmap -v -sS -oA nmap_outout 対象のIPアドレス
-
Ex: 全ポートに対してTCP SYNスキャン
$ sudo nmap -v -sS -oA nmap_outout -p- 対象のIPアドレス
-
Ex: 全ポートに対して、ホストの存在確認をせずにTCP SYNスキャン
$ sudo nmap -v -sS -oA nmap_outout -p- -P0 対象のIPアドレス
代表的なオプション
- スキャン方法
- -sS : TCP SYNスキャン(TCPハーフオープンスキャン)。ステルススキャンと言われる奴。普通これ使う。root権限必要
- -sT : TCPコネクトスキャン。root権限不要。相手側のログに間違いなく残る
- -sN, sF, -sX : firewall越えられるかも知れないけど openとfilterdの区別がつかないとかWindows相手だと全部closeになるとか。 root権限必要
- ポートの指定
- 指定無し:代表的な1000ポート
- -p- : 全ポート
- --port-ratio=0.0 : nmap-services ファイルにある全てのポート
- CentOS 7 なら /usr/share/nmap/nmap-services
- 数字(0.0)を大きくすることで対象を減らせる。nmap-services ファイル内の「open-frequency」が指定より大きいポートが対象となる
- 出力形式
- -oA HeadOfFilename : 通常出力・grep用出力・XML出力の全てを行う
- ホストの検知(存在確認)
- 指定無し:ICMP pingとか代表的なポートの確認でホストの検知をする
- -P0 : ホストの検知をおこなわず問答無用でスキャンする
- その他
- -v : 色々状況とか出力する
- -O : OS検出機能。root権限必要