Nmap での出力形式の変換

NmapNmapBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Nmap のスキャン結果を、分析とレポート作成を容易にするためにさまざまな出力形式に変換する方法を学びます。この実験では、nmap -oX を使ってスキャン結果を XML として保存し、その後、ブラウザで表示するために xsltproc を使って XML 出力を HTML に変換します。

また、nmap -oG を使ってスキャン結果を grep 可能な形式で保存し、その後、grep を使って IP アドレスなどの特定の情報を抽出し、さらなる検討のためにテキストファイルに保存する方法も学びます。これにより、Nmap のスキャン出力から効率的にデータを抽出して操作することができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") subgraph Lab Skills nmap/output_formats -.-> lab-547094{{"Nmap での出力形式の変換"}} nmap/save_output -.-> lab-547094{{"Nmap での出力形式の変換"}} nmap/target_specification -.-> lab-547094{{"Nmap での出力形式の変換"}} end

nmap -oX scan.xml を使って XML 形式でスキャン結果を保存する 192.168.1.1

このステップでは、Nmap を使ってスキャンを実行し、結果を XML 形式で保存する方法を学びます。XML(Extensible Markup Language)は、人間が読みやすく機械が読み取り可能な形式で文書をエンコードするための一連の規則を定義するマークアップ言語です。Nmap のスキャン結果を XML 形式で保存することで、他のツールやスクリプトによる解析と分析が容易になります。

まず、コマンドを理解しましょう。

nmap -oX scan.xml 192.168.1.1

  • nmap:これは Nmap スキャナを実行するコマンドです。
  • -oX scan.xml:このオプションは Nmap に対して、スキャン結果を XML 形式で scan.xml という名前のファイルに保存するように指示します。-oX オプションは XML 出力形式を指定します。
  • 192.168.1.1:これは Nmap がスキャンする対象の IP アドレスです。必要に応じて、実際にスキャンしたい IP アドレスに置き換えてください。この実験では、192.168.1.1 を使用します。

次に、LabEx VM でコマンドを実行しましょう。Xfce ターミナルを開き、~/project ディレクトリに移動します。これは既定の作業ディレクトリです。

cd ~/project

次に、Nmap コマンドを実行して対象の IP アドレスをスキャンし、結果を scan.xml に保存します。

sudo nmap -oX scan.xml 192.168.1.1

ターミナルには Nmap がスキャンを実行し、進行状況を表示します。出力には、ホストの検出やポートのスキャンなど、スキャンのさまざまな段階が表示されます。

スキャンが完了すると、~/project ディレクトリに scan.xml ファイルが作成されたことを確認できます。ディレクトリ内のファイルを一覧表示するには、ls コマンドを使用します。

ls -l

ファイル一覧に scan.xml が表示されるはずです。

また、cat コマンドや nano のようなテキストエディタを使って scan.xml ファイルの内容を表示することもできます。

cat scan.xml

または

nano scan.xml

出力は、対象の IP アドレス、開いているポート、その他の情報を含む、Nmap スキャンの詳細を含む大きな XML ドキュメントになります。

xsltproc /usr/share/nmap/nmap.xsl scan.xml -o scan.html を使って XML を HTML に変換する

このステップでは、前の Nmap スキャンの XML 出力を xsltproc を使って HTML 形式に変換する方法を学びます。xsltproc は、XML ドキュメントに XSLT(Extensible Stylesheet Language Transformations)スタイルシートを適用するためのコマンドラインツールです。これにより、XML データを HTML のような、人間が読みやすい形式に変換することができます。

コマンドを分解してみましょう。

xsltproc /usr/share/nmap/nmap.xsl scan.xml -o scan.html

  • xsltproc:これは XSLT プロセッサを実行するコマンドです。
  • /usr/share/nmap/nmap.xsl:Nmap が提供する XSLT スタイルシートのパスです。このスタイルシートは、XML データがどのように HTML に変換されるかを定義しています。
  • scan.xml:前のステップで作成した入力 XML ファイルです。
  • -o scan.html:このオプションは、変換された HTML ドキュメントの出力ファイル名を指定します。-o オプションは出力を表します。

次に、LabEx VM でコマンドを実行しましょう。~/project ディレクトリにいることを確認してください。もしそうでなければ、以下のコマンドを使って移動してください。

cd ~/project

次に、scan.xml ファイルを scan.html に変換するための xsltproc コマンドを実行します。

xsltproc /usr/share/nmap/nmap.xsl scan.xml -o scan.html

このコマンドは scan.xml ファイルを読み取り、nmap.xsl スタイルシートを適用し、同じディレクトリに scan.html という名前の HTML ファイルを生成します。

コマンドが完了した後、~/project ディレクトリに scan.html ファイルが作成されたことを確認できます。ディレクトリ内のファイルを一覧表示するには、ls コマンドを使用します。

ls -l

ファイル一覧に scan.html が表示されるはずです。

また、cat コマンドや nano のようなテキストエディタを使って scan.html ファイルの内容を表示することもできます。

cat scan.html

または

nano scan.html

出力は、フォーマットされた Nmap スキャン結果を含む HTML ドキュメントになります。

Xfce ブラウザで HTML ファイルを開く

このステップでは、前のステップで作成した scan.html ファイルを Xfce のウェブブラウザを使って開きます。これにより、Nmap のスキャン結果を視覚的に魅力的で操作しやすい形式で表示できます。

Xfce ブラウザで HTML ファイルを開くには、xdg-open コマンドを使うことができます。このコマンドは、関連付けられたアプリケーションでファイルを開くためのデスクトップに依存しない方法です。

まず、~/project ディレクトリにいることを確認してください。もしそうでなければ、以下のコマンドを使って移動してください。

cd ~/project

次に、以下のコマンドを実行して Xfce ブラウザで scan.html ファイルを開きます。

xdg-open scan.html

このコマンドは Xfce の既定のウェブブラウザを起動し、scan.html ファイルの内容を表示します。対象の IP アドレス、開いているポート、その他の詳細に関する情報を含む、Nmap のスキャン結果のフォーマットされたレポートが表示されるはずです。

これで、ブラウザでスキャン結果を確認できます。HTML 形式は、生の XML 出力と比較して情報を読みやすく理解しやすくします。

nmap -oG scan.grep 127.0.0.1 で grep 可能な出力を保存する

このステップでは、もう一度 Nmap スキャンを行いますが、今回は出力を「grep 可能な」形式で保存します。この形式は、grep のようなツールで簡単に解析できるように特別に設計されており、スキャン結果から特定の情報を抽出するのが簡単になります。

Nmap コマンドの -oG オプションは、出力を grep 可能な形式で保存することを指定します。

コマンドを分解してみましょう。

nmap -oG scan.grep 127.0.0.1

  • nmap:これは Nmap スキャナを実行するコマンドです。
  • -oG scan.grep:このオプションは、Nmap に出力を grep 可能な形式で scan.grep という名前のファイルに保存するように指示します。
  • 127.0.0.1:これはスキャンの対象 IP アドレスです。127.0.0.1 はループバックアドレスで、ローカルマシンを指します。

次に、LabEx VM でコマンドを実行しましょう。~/project ディレクトリにいることを確認してください。もしそうでなければ、以下のコマンドを使って移動してください。

cd ~/project

次に、grep 可能な出力を保存するための Nmap コマンドを実行します。

nmap -oG scan.grep 127.0.0.1

このコマンドはループバックアドレス (127.0.0.1) をスキャンし、結果を grep 可能な形式で scan.grep ファイルに保存します。

コマンドが完了した後、~/project ディレクトリに scan.grep ファイルが作成されたことを確認できます。ディレクトリ内のファイルを一覧表示するには、ls コマンドを使用します。

ls -l

ファイル一覧に scan.grep が表示されるはずです。

また、cat コマンドや nano のようなテキストエディタを使って scan.grep ファイルの内容を表示することもできます。

cat scan.grep

または

nano scan.grep

出力は、grep で簡単に解析できる形式の Nmap スキャン結果を含むテキストファイルになります。

grep "Host" scan.grep > hosts.txt で IP アドレスを抽出する

このステップでは、前のステップで作成した scan.grep ファイルから、「Host」という単語を含む行を抽出するために grep コマンドを使用します。これらの行には、スキャン対象のホストの IP アドレスが含まれています。そして、抽出した行を新しい hosts.txt という名前のファイルに保存します。

grep コマンドは、特定のパターンを持つテキストファイルを検索するための強力なツールです。この場合、「Host」という単語を含む行を見つけるために使用します。

> 記号は出力リダイレクトに使用されます。これは、grep コマンドの出力を指定されたファイル (hosts.txt) に保存します。既に存在する場合は上書きされます。

コマンドを分解してみましょう。

grep "Host" scan.grep > hosts.txt

  • grep:これはファイル内のパターンを検索するコマンドです。
  • "Host":検索するパターンです。この場合、「Host」という単語を含む行を検索しています。
  • scan.grep:検索対象のファイルです。
  • >:これは出力リダイレクト演算子です。grep コマンドの出力を指定されたファイルに保存します。
  • hosts.txt:出力を保存するファイルです。

次に、LabEx VM でコマンドを実行しましょう。~/project ディレクトリにいることを確認してください。もしそうでなければ、以下のコマンドを使って移動してください。

cd ~/project

次に、IP アドレスを抽出して hosts.txt ファイルに保存するための grep コマンドを実行します。

grep "Host" scan.grep > hosts.txt

このコマンドは、「Host」を含む行を scan.grep ファイルから検索し、それらの行を新しい hosts.txt という名前のファイルに保存します。

コマンドが完了した後、~/project ディレクトリに hosts.txt ファイルが作成されたことを確認できます。ディレクトリ内のファイルを一覧表示するには、ls コマンドを使用します。

ls -l

ファイル一覧に hosts.txt が表示されるはずです。

また、cat コマンドや nano のようなテキストエディタを使って hosts.txt ファイルの内容を表示することもできます。

cat hosts.txt

または

nano hosts.txt

出力は、「Host」という単語を含む scan.grep の行が含まれるテキストファイルになります。これらの行には、スキャン対象のホストの IP アドレスが含まれています。

Xfce ターミナルで抽出したデータを確認する

このステップでは、Xfce ターミナルを使って hosts.txt ファイルに抽出されたデータを確認します。これにより、Nmap スキャン中に特定された IP アドレスを見ることができます。

cat コマンドを使って、hosts.txt ファイルの内容をターミナルに直接表示することができます。または、nano のようなテキストエディタを使ってファイルを開き、データを確認することもできます。

まず、~/project ディレクトリにいることを確認してください。もしそうでなければ、以下のコマンドを使って移動してください。

cd ~/project

cat コマンドを使って hosts.txt ファイルの内容を表示するには、以下のコマンドを実行します。

cat hosts.txt

これにより、hosts.txt ファイルの内容がターミナルに表示されます。「Host:」で始まり、その後に IP アドレスやその他の情報が続く行が表示されるはずです。

または、nano テキストエディタを使って hosts.txt ファイルを開くには、以下のコマンドを実行します。

nano hosts.txt

これにより、nano エディタで hosts.txt ファイルが開きます。その後、ファイルをスクロールして抽出されたデータを確認することができます。nano を終了するには、Ctrl+X を押してから、保存する場合は Y を押してから、Enter を押します。

抽出されたデータを確認することで、grep コマンドが scan.grep ファイルから IP アドレスを含む行を正常に抽出したことを確認することができます。

まとめ

この実験では、Nmap を使ってスキャン結果をさまざまな形式で保存する方法を学びました。まず、Nmap スキャンを実行し、-oX オプションを使って出力を XML 形式で保存し、scan.xml という名前のファイルを作成しました。これにより、他のツールによる解析と分析が容易になります。

次に、この実験では xsltprocnmap.xsl スタイルシートを使って XML 出力を HTML に変換する方法を学び、読みやすい scan.html ファイルを作成しました。最後に、出力を grep 可能な形式で保存し、grep を使って IP アドレスなどの特定の情報を抽出する方法を学びます。