Nmap(Network Mapper、)は、ネットワークスキャンに使用される無料のオープンソースセキュリティツールです。 Nmapの主な機能のいくつかは、開いているポートのスキャン、サービスの検出とセキュリティ、および脆弱性の監査です。
Nmapは、コマンドラインインターフェイスを介して最も一般的に使用され、Ubuntu、CentOS、Redhat、Free BSD、Mintなどのさまざまなオペレーティングシステムで使用できます。
このチュートリアルでは、いくつかの例を使用して、最も頻繁に使用されるNmapコマンドのいくつかを見ていきます。
NMAPのインストール
デフォルトでは、nmapはDebian、Ubuntu、Hat、CentOS、FedoraなどのほとんどのLinuxディストリビューションにはインストールされていません。ただし、簡単にインストールできるように、yumおよびaptリポジトリで利用できます。
次のコマンドは、Linuxにnmapをインストールします。
CentOSおよびRedhatベースのシステム
$ sudo yum install nmap
UbuntuおよびDebianベースのシステムの場合
$ sudo apt-get install nmap
1。特定のホストをスキャンする
特定のホストをスキャンして(これは、ホストのIPまたはホスト名がすでにあることを前提としています)、基本情報を明らかにするには、次のコマンドを使用します。
$ nmap IP-address
たとえば、
$ nmap 192.163.43.103
上記のコマンドは高速で、短時間で出力を生成します
たとえば、IPアドレスの代わりにホスト名を使用してスキャンすることもできます
$ nmap ubuntu-server
ある範囲のIPをスキャンするには、構文を使用します
$ nmap 192.163.43.1-103
このコマンドは、IP 192.168.43.1 to 192.168.43.103
までのすべてのホストをスキャンします
2。システムで徹底的なスキャンを実行します
-A
を使用して、ホストシステムに関するすべての情報を公開できます。 以下に示すようにフラグを立てます。これにより、基盤となるOS、開いているポート、実行中のサービスとそのバージョンなど、ホストシステムに関連するすべての情報が明らかになります。
$ nmap -A 192.163.43.103
出力から、コマンドがosとサービスの検出を実行し、サービスのタイプとそのバージョン、実行されているポートなどの詳細情報を提供していることがわかります。このコマンドは通常、実行に時間がかかりますが、徹底しており、特定のホストシステムについて必要なすべてを提供します。
3。特定のポートをスキャンする
特定のポートをスキャンして開いているかどうかを確認するには、以下の構文で-pフラグを使用します。
$ nmap -p port_number IP-address
たとえば、ホストシステムのポート80をスキャンするには、次のコマンドを実行します。
$ nmap -p 80 192.168.43.103
たとえば80〜433の範囲のポートをスキャンするには、次の構文を使用します。
$ nmap -p 25-443 192.168.43.13
or
$ nmap -p 80,443 192.168.43.13
4。ホストサービス名とそのバージョンを検索する
ホストで実行されているサービスに関する基本情報を確認するには、-sV
を使用します 示されているフラグ:
$ nmap -sV 192.168.43.103
5。ネットワークサブネット全体をスキャンする
ネットワークサブネット内のデバイスをスキャンするには、次のようにCIDR表記を使用します
$ nmap 192.168.43.0/24
6。スキャンで特定のホストを除外する
フルネットワークスキャンを実行するときに、--exclude
を使用して特定のホストを除外することを選択できます 国旗 。以下の例では、KaliLinuxマシンをスキャンから除外します。
$ nmap 192.168.43.* --exclude 192.168.43.8
7。ホストインターフェースとルートを表示する
特定のホストのインターフェースとルートを表示するには、--iflist
を使用します 示されているようにフラグを立てます。
$ nmap 192.168.43.103 --iflist
8。 TCPACKとTCPSynを使用してリモートホストをスキャンする
ファイアウォールは、スキャン結果に干渉するICMP要求をブロックする場合があります。その場合、TCP syn(PS)とTCP ACK(PA)を使用して、目的の結果を達成します。
$ nmap -PS 192.168.43.103
$ nmap -PA 192.168.43.103
9。スキャンしてファイアウォール設定を検出します
Nmapツールを使用してスキャンを実行し、示されているようにファイアウォールが開いているかどうかを確認できます
$ nmap -sA 192.168.43.223
最初の例では、ファイアウォールが無効になっているため、実行されていません。 (ポートはフィルタリングされていません)。 2番目の例では、ファイアウォールが有効になっており、開いているポートを検出する可能性は最小限に抑えられます。
10。 TCPまたはUDPポートのスキャン
ホストで開いているTCPポートをスキャンするには、-sT
を使用します 示されているフラグ:
$ nmap -sT 192.168.43.103
UDPポートをスキャンするには、-sU
を使用します フラグ
$ nmap -sU 192.168.43.103
11。スキャン結果をファイルに保存
スキャンが完了したら、-oNフラグを使用し、以下に示すように出力ファイルを指定して、結果をテキストファイルに保存できます。
$ nmap -oN scan.txt 192.168.43.103
ファイルは現在の作業ディレクトリに作成されます。ビューを表示するには、次のようにcatコマンドを使用するだけです。
$ cat results.txt
また、symbolより大きいリダイレクト記号(>)を使用して、出力を別のファイルにリダイレクトすることもできます。たとえば、
$ nmap 192.168.43.103 > output.txt
12。一連のNmapスクリプトでスキャンする
Nmapには、脆弱性スキャンに使用され、システムの弱点を指摘するための強力なスクリプトが多数含まれています。 NSEスクリプトの場所を取得するには、次のコマンドを実行するだけです。
$ locate *nse
--script
を使用してNmapスクリプトをロードできます 示されているオプション。
$ nmap -sV --script=mysql-info.nse 192.168.43.103
最もデフォルトのスクリプトでスキャンするには、構文を使用します
$ nmap -sC 192.168.43.103
自動化をお探しの場合は、NSEがその答えです(NMAPスクリプティングエンジン)
結論
自動化をお探しの場合は、NSEがその答えです(NMAPスクリプティングエンジン)。 Nmapのコマンドのヘルプを取得するには、$ nmap -h
を実行するだけです。 。そして、それは私たちがこのトピックのために持っていたすべてです。 nmapコマンドを使用してネットワークをスキャンし、ホストシステムの詳細を確認できることを願っています。