Nmap aka Network Mapperは、Linuxシステム/ネットワーク管理者向けのオープンソースで非常に多機能なツールです。 Nmap は、ネットワークの探索、セキュリティスキャンの実行、ネットワーク監査、リモートマシン上のオープンポートの検索に使用されます。
私は NMAP の使い方の大部分を 2 つのパートに分けてカバーするつもりですが、これは nmap の深刻な状況の最初のパートです。 ここでは、Nmapコマンドの動作をテストするために、ファイアウォールなしの2つのサーバーを使用しています。
- 192.168.0.100 – server1.tecmint.com
- 192.168.0.101 – server2.tecmint.com
Nmap command usage
# nmap {target specification}
How to Install NMAP in Linux
今日のRed Hat, CentOS, Fedoro, Debian and UbuntuなどのほとんどのLinuxディストリビューターは、YumとAPTというデフォルトパッケージ管理リポジトリにNmapが含まれています。 この2つのツールは、ソフトウェアパッケージとアップデートをインストールし、管理するために使用されます。
# yum install nmap$ sudo apt-get install nmap
最新の nmap アプリケーションをインストールしたら、この記事で提供されている例の指示に従うことができます。
Scan a System with Hostname and IP Address
Nmapツールはシステムをスキャンするさまざまなメソッドを提供します。 この例では、ホスト名を server2.tecmint.com としてスキャンを実行し、システム上のすべてのオープン ポート、サービス、および MAC アドレスを確認します。
ホスト名を使ったスキャン
IPアドレスを使ったスキャン
「-v」オプションを使ったスキャン
「-v」オプション付きの下のコマンドは、リモートマシンに関するより詳しい情報を与えることがわかるだろう。
Scan a whole Subnet
Nmapで*ワイルドカードを指定することにより、サブネット全体またはIPレンジをスキャンすることができる。
Scan Multiple Servers using last octet of IP address
IP アドレスの最後のオクテットを指定するだけで、複数の IP アドレスに対してスキャンを実行することができます。 例えば、ここでは 192.168.0.101, 192.168.0.102, 192.168.0.103 の IP アドレスに対してスキャンを行っています。
ファイルからのホストリストのスキャン
スキャンするホストが多く、すべてのホスト詳細がファイルに書かれているなら、直接 nmap にファイルを読み込んでスキャンを行うよう依頼することができます。
「nmaptest.txt」というテキストファイルを作成し、スキャンしたいサーバのIPアドレスまたはホスト名をすべて定義する。
# cat > nmaptest.txtlocalhostserver2.tecmint.com192.168.0.101
次に、nmapコマンドで「iL」オプションを付けて次のコマンドを実行すると、ファイル内のすべてのリストにあるIPアドレスをスキャンする。
Scan Network Excluding Remote Hosts
ネットワーク全体のスキャンを実行するとき、または “-exclude” オプションを使用してワイルドカードでスキャンするときに、一部のホストを除外できます。
Scan OS information and Traceroute
Nmapでは、リモートホストでどのOSとバージョンが動作しているか検出することが可能です。 OS & バージョンの検出、スクリプトのスキャン、およびトレースルートを有効にするには、NMAP で “-A” オプションを使用します。
上記の出力では、リモートホスト上で実行されている OS の TCP/IP フィンガープリントが表示されており、リモートホスト上で実行中のポートおよびサービスについてより具体的に説明されています。
Scan a Host to Detect Firewall
以下のコマンドは、リモートホスト上でスキャンを実行し、パケットフィルタまたはファイアウォールがホストで使用されているかどうかを検出します。
Find out live hosts in a Network
“-sP” オプションを使用すると、ネットワーク上で稼働しているホストを簡単にチェックすることができ、このオプションにより nmap はポート検出や他のものをスキップすることができます。
高速スキャン
“-F “オプションにより、nmap-servicesファイルにリストされたポートをスキャンし、他のすべてのポートを残す高速スキャンを実行することが可能です。
Find Nmap version
“-V” オプションを使用すると、マシン上で実行中のNmapバージョンを確認できます。
# nmap -VNmap version 4.11 ( http://www.insecure.org/nmap/ )You have new mail in /var/spool/mail/root
Scan Ports Consecutively
“-r” フラグは、ランダム化を行わないようにします。
Print Host interfaces and Routes
「-iflist」オプションを使って、nmapでホストインターフェースとルート情報を見つけることができる。
上の出力では、mapがシステムに接続されているインターフェースとそれぞれのルートをリストしていることが分かる。 1233>
Scan a TCP Port
Nmap で特定のポートタイプや番号を指定してスキャンすることもできる。
Scan a UDP Port
Scan Multiple Ports
p オプションを使って複数のポートをスキャンすることもできる。
Scan Ports by Network Range
式を使って範囲を指定してポートをスキャンすることができます。
# nmap -p 80-160 192.168.0.101
Find Host Services version Numbers
“-sV” オプションでリモートホスト上で実行中のサービスのバージョンを見つけることができます。
TCP ACK (PA) および TCP Syn (PS) を使用してリモート ホストをスキャンする
パケット フィルタリング ファイアウォールが標準 ICMP Ping 要求をブロックすることがあります。
TCP ACK でリモート ホストの特定のポートをスキャンする
TCP Syn でリモート ホストの特定のポートをスキャンする
ステルス スキャンを実行する
TCP Syn で最もよく使われるポートを確認する
TCP NULL スキャンでファイアウォールをだます