nmapのレポートをXMLやgrep形式で出力する
提供: セキュリティ
スポンサーリンク
nmap でネットワークスキャンを行ったときに、レポートが標準出力に表示されます。複数のノードの情報やNSEスクリプトによる詳細な結果などが含まれている場合に、nmapの標準形式のレポートを再利用するのが難しい場合があります。そういった場合には、XMLやgrep形式(grepすることを考慮した形式)でファイルに出力します。
読み方
- nmap
- えぬまっぷ
概要
nmapには、いくつかの形式でファイルにレポートを保存できます。
- 通常出力
- XML
- grep形式
- スクリプトキディ出力
オプション
オプション | 説明 |
---|---|
-oN ファイル名 | 通常形式でレポートを保存する |
-oX ファイル名 | XML形式でレポートを保存する |
-oS ファイル名 | スクリプトキディ形式でレポートを保存する。l33t HaXXorZ」(leet hacker)向け |
-oG ファイル名 | grep形式でレポートを保存する |
-oA 出力先ディレクトリ | すべてのフォーマット(通常、XML,grep形式)でレポートを保存する |
使い方
以下の設定では、画面につらつらと表示されるだけです。
$ time sudo nmap -sS -O 192.168.60.149 Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-12 11:32 JST Nmap scan report for 192.168.60.149 Host is up (0.00033s latency). Not shown: 977 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 25/tcp open smtp 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 512/tcp open exec 513/tcp open login 514/tcp open shell 1099/tcp open rmiregistry 1524/tcp open ingreslock 2049/tcp open nfs 2121/tcp open ccproxy-ftp 3306/tcp open mysql 5432/tcp open postgresql 5900/tcp open vnc 6000/tcp open X11 6667/tcp open irc 8009/tcp open ajp13 8180/tcp open unknown MAC Address: 00:0C:29:F0:E3:B5 (VMware) Device type: general purpose Running: Linux 2.6.X OS CPE: cpe:/o:linux:linux_kernel:2.6 OS details: Linux 2.6.9 - 2.6.33 Network Distance: 1 hop OS detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 337.07 seconds sudo nmap -sS -O 192.168.60.149 -oG /tmp/mg.txt 1.97s user 0.30s system 0% cpu 5:40.32 total
Grep形式のファイル
ファイルフォーマットを指定した場合でも、nmapは標準出力に、通常のレポートを表示します。
$ time sudo nmap -sS -O 192.168.60.149 -oG grep.txt ... 同様の出力
ページ作成の関係で、改行を追加していますが、だいたい以下のようになります。 これは、人間がみるためのものではなく、あくまでも grep して、加工するためのものです。そのため、grep形式が人間にとって見やすいものというわけではありません。
# Nmap 7.00 scan initiated Sat Dec 12 11:32:31 2015 as: nmap -sS -O -oG grep.txt 192.168.60.149 Host: 192.168.60.149 () Status: Up Host: 192.168.60.149 () Ports: 21/open/tcp//ftp///, 22/open/tcp//ssh///, 23/open/tcp//telnet///, 25/open/tcp//smtp///, 53/open/tcp//domain///, 80/open/tcp//http///, 111/open/tcp//rpcbind///, 139/open/tcp//netbios-ssn///, 445/open/tcp//microsoft-ds///, 512/open/tcp//exec///, 513/open/tcp//login///, 514/open/tcp//shell///, 1099/open/tcp//rmiregistry///, 1524/open/tcp//ingreslock///, 2049/open/tcp//nfs///, 2121/open/tcp//ccproxy-ftp///, 3306/open/tcp//mysql///, 5432/open/tcp//postgresql///, 5900/open/tcp//vnc///, 6000/open/tcp//X11///, 6667/open/tcp//irc///, 8009/open/tcp//ajp13///, 8180/open/tcp//unknown/// Ignored State: closed (977) OS: Linux 2.6.9 - 2.6.33 Seq Index: 202 IP ID Seq: All zeros # Nmap done at Sat Dec 12 11:38:07 2015 -- 1 IP address (1 host up) scanned in 337.07 seconds
NSEスクリプトと出力形式
nmap NSEスクリプトを用いた場合は、さらに詳細な情報を取得することができます。 詳細情報も XML の形式であれば、一緒に保存されます。grep形式の場合、詳細な情報が乗ってこないようです。
以下は、ssl-enum-ciphersを利用した例です。 -oG で指定したファイルには、TLSの評価の情報が含まれていません。-oX で XML 形式で出力すれば、含まれるようになります。
$ nmap -oG /tmp/login.txt login.yahoo.co.jp --script ssl-enum-ciphers -p 443 Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-12 11:52 JST Nmap scan report for login.yahoo.co.jp (183.79.39.220) Host is up (0.034s latency). PORT STATE SERVICE 443/tcp open https | ssl-enum-ciphers: | TLSv1.0: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A | TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C | compressors: | NULL | cipher preference: server | TLSv1.1: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A | TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C | compressors: | NULL | cipher preference: server | TLSv1.2: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A | TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A | TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A | TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C | compressors: | NULL | cipher preference: server |_ least strength: C Nmap done: 1 IP address (1 host up) scanned in 5.02 seconds $ cat /tmp/login.txt # Nmap 7.00 scan initiated Sat Dec 12 11:52:33 2015 as: nmap -oG /tmp/login.txt --script ssl-enum-ciphers -p 443 login.yahoo.co.jp Host: 183.79.39.220 () Status: Up Host: 183.79.39.220 () Ports: 443/open/tcp//https/// # Nmap done at Sat Dec 12 11:52:38 2015 -- 1 IP address (1 host up) scanned in 5.02 seconds
関連項目
ツイート
スポンサーリンク