Nmap は Network Mapper の略である。 ネットワーク探索、セキュリティスキャン、監査用のオープンソースのセキュリティツールです。 しかし、Nmapコマンドには、ユーティリティをより堅牢にし、新規ユーザーにとってフォローするのが難しくなるような、多くのオプションが付属しています。 このガイドの目的は、ホストまたはネットワークをスキャンして、ホスト内の可能性のある脆弱なポイントを見つけるために、Nmapコマンドラインツールをユーザーに紹介することです。 また、Nmapを攻撃的および防御的な目的で使用する方法についても学びます。 Linux または Unix 系システムで動作する一般的な Nmap コマンドの例を見てみましょう。
- Nmap とは何か、何のために使用するのか?
- Nmap Command Examples in Linux and Unix – Sample setup (LAB) for
- Linux に nmap をインストールするにはどうすればよいですか? Install nmap Software For Scanning Network
- nmap
- Scan multiple IP address or subnet (IPv4)
- ファイルからホスト/ネットワークのリストを読み込む (IPv4)
- Excluding hosts/networks (IPv4) from nmap scan examples
- OSおよびバージョン検出スキャンスクリプトをオンにする(IPv4) with nmap
- ホスト/ネットワークがnampコマンドでファイアウォールで保護されているか調べる
- ファイアウォールで保護されているホストのスキャン
- Scan an IPv6 host/address examples
- ネットワークをスキャンして、どのサーバーやデバイスが稼働しているかを確認します
- nampを使って高速スキャンするには、どうすればよいでしょうか?
- ポートが特定の状態である理由を表示する
- Linux で nmap コマンドを使用して開いている (か開いているかも) ポートのみを表示する
- Show all packets sent and received
- Show host interfaces and routes
- How do I scan particular ports using nmap?
- 16: The fastest way to scan all your devices/computers for open ports ever
- nmap を使用してリモート オペレーティング システムを検出するにはどうすればいいですか?
- リモート サービス (サーバー/デーモン) のバージョン番号を検出するにはどうすればよいですか?
- TCP ACK (PA) および TCP Syn (PS) ping を使用してホストをスキャンする
- IP プロトコルを使用してホストをスキャン ping
- UDP を使用してホストをスキャン ping
- TCP SYN スキャンを使用して、最もよく使用される TCP ポートを見つける
- UDP サービスのホストをスキャンする (UDP スキャン)
- Scan for IP protocol
- Scan a firewall for security weakness
- Scan a firewall for packets fragments
- 囮を使ったスキャンを隠す
- Scan a firewall for MAC address spoofing
- How do I save output to a text file?
- Web サーバーをスキャンし、Nikto にパイプします
- nmap を高速化する
- namp コマンド ライン ツールが好きではないのか?
- Linux および Unix/BSD サーバーでポート スキャンを検出およびブロックするにはどうすればよいですか。
- まとめ
Nmap とは何か、何のために使用するのか?
nmap in action
マニュアルページより:
Nmap (Network Mapper) はネットワーク調査およびセキュリティ監査用のオープンソースツールである。 単一のホストに対しては問題なく動作するが、大規模なネットワークを迅速にスキャンするために設計された。 Nmapは生のIPパケットを新しい方法で使用し、ネットワーク上で利用可能なホスト、それらのホストが提供しているサービス(アプリケーション名とバージョン)、実行中のOS(およびOSバージョン)、使用中のパケットフィルタ/ファイアウォールのタイプ、および他の多くの特性を判断します。 Nmap は一般的にセキュリティ監査に使用されますが、多くのシステムおよびネットワーク管理者は、ネットワークのインベントリ、サービスのアップグレードスケジュールの管理、ホストまたはサービスのアップタイムの監視などの日常的なタスクに便利だと感じています。
これはもともと Gordon Lyon によって書かれており、次の質問に簡単に答えることができます:
- ローカルネットワークで実行中のコンピュータを検索
- ローカルネットワーク上でどの IP アドレスが実行中だったのですか?
- ターゲット マシンのオペレーティング システムを検出する
- スキャンしたマシンでどのポートが開いているかを調べる
- システムがマルウェアやウイルスに感染しているかどうかを確認する
- ネットワーク上の不正なサーバーやネットワーク サービスを検索する
- ターゲット マシンのオペレーティング システムを検出する
- スキャンしたマシンのポートが開いているかどうかを確認する
- 組織の最低セキュリティレベルを満たさないコンピュータを見つけ出し、削除します。
[詳細
Nmap Command Examples in Linux and Unix – Sample setup (LAB) for
Port scanning may be illegal in some jurisdictionals.
+---------+ +---------+ | Network | +--------+ | server1 |-----------+ swtich +---------|server2 | +---------+ | (sw0) | +--------+ +----+----+ | | +---------+----------------+ | wks01 Linux/macOS/Win | +--------------------------+
ここで、
- wks01 は、Linux/MacOS (OS X) または Unix 系 OS を実行しているコンピュータです。 ローカルネットワークのスキャンに使用されます。 nmapコマンドはこのコンピュータにインストールされている必要があります。
- server1 は、Linux/Unix/MS-Windows オペレーティング システムで動作します。 これは、パッチが適用されていないサーバーです。 Web サーバー、ファイル サーバーなど、いくつかのサービスを自由にインストールできます。
- server2 は、Linux / Unix / MS-Windows オペレーティング システムを使用できます。 これは、ファイアウォールを備えた完全にパッチされたサーバーです。
- 3 つのシステムはすべてスイッチで接続されています。
Linux に nmap をインストールするにはどうすればよいですか? Install nmap Software For Scanning Network
nmap
Fig.01 を用いて単一ホストまたは IP アドレス (IPv4) をスキャンする。: nmap output
Scan multiple IP address or subnet (IPv4)
nmap 192.168.1.1 192.168.1.2 192.168.1.3## works with same subnet i.e. 192.168.1.0/24 nmap 192.168.1.1,2,3
You can scan a range of IP address too:
nmap 192.168.1.1-20
You can scan a range of IP address using a wildcard.これは、ワイルドカードを使用して、複数のIPアドレスをスキャンすることができることを示します。
nmap 192.168.1.*
最後にサブネット全体をスキャンする:
nmap 192.168.1.0/24
ファイルからホスト/ネットワークのリストを読み込む (IPv4)
-iLオプションにより、テキストファイルを使用してターゲットシステムのリストを読み込むことができます。 多数のホスト/ネットワークをスキャンする場合に有効です。 以下のようにテキストファイルを作成します:cat > /tmp/test.txt
以下のように名前を追加します:
server1.cyberciti.biz192.168.1.0/24192.168.1.1/2410.1.2.3localhost
構文は以下の通りです。
nmap -iL /tmp/test.txt
Excluding hosts/networks (IPv4) from nmap scan examples
多数のホスト/ネットワークをスキャンする場合、スキャンからホストを除外できる:
nmap 192.168.1.0/24 --exclude 192.168.1.5nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254
OR exclude list from a file called /tmp/exclude.txt
nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt
OSおよびバージョン検出スキャンスクリプトをオンにする(IPv4) with nmap
nmap -A 192.168.1.254nmap -v -A 192.168.1.1nmap -A -iL /tmp/scanlist.txt
ホスト/ネットワークがnampコマンドでファイアウォールで保護されているか調べる
## nmap command examples for your host ##nmap -sA 192.168.1.254nmap -sA server1.cyberciti.biz
ファイアウォールで保護されているホストのスキャン
このNmapコマンド例で私たちがスキャンしようとしたルータ/wifiデバイスは、192.1.0を持つもので、ルータはこのデバイスをスキャンします。168.1.1 as IP:
nmap -PN 192.168.1.1nmap -PN server1.cyberciti.biz
Scan an IPv6 host/address examples
-6オプションは、nampコマンドでIPv6スキャンを有効にします。 この構文は次のとおりです:
nmap -6 IPv6-Address-Herenmap -6 server1.cyberciti.biznmap -6 2607:f0d0:1002:51::4nmap -v A -6 2607:f0d0:1002:51::4
ネットワークをスキャンして、どのサーバーやデバイスが稼働しているかを確認します
これはホスト検出またはpingスキャンとして知られています:
nmap -sP 192.168.1.0/24
以下はその様子です。
nampを使って高速スキャンするには、どうすればよいでしょうか?
nmap -F 192.168.1.1nmap -6 -F IPv6_Address_Here
ポートが特定の状態である理由を表示する
nmap --reason 192.168.1.1nmap --reason server1.cyberciti.biz
出力:
Linux で nmap コマンドを使用して開いている (か開いているかも) ポートのみを表示する
Run:
nmap --open 192.168.1.1nmap --open server1.cyberciti.biznmap --open 192.168.2.18
私のCentOS 7 Linuxサーバーからスキャン出力があります。
Show all packets sent and received
nmap --packet-trace 192.168.1.1nmap --packet-trace server1.cyberciti.biz
Show host interfaces and routes
This is useful for debugging (ip command or route command or netstat command like output using the nmap command on Linux)
nmap --iflist
Nampコマンドで作成する詳細レポート:
How do I scan particular ports using nmap?
Sample outputs:
16: The fastest way to scan all your devices/computers for open ports ever
nmap -T5 192.168.1.0/24nmap -T5 {sub/net}
nmap を使用してリモート オペレーティング システムを検出するにはどうすればいいですか?
-O オプションを使用すると、リモート ホストのアプリケーションと OS を識別できます:
nmap -O 192.168.1.1nmap -O --osscan-guess 192.168.1.1nmap -v -O --osscan-guess 192.168.1.1
サンプル出力:
Fingerprinting a web-server and a dns server command line tools も参照してください。
リモート サービス (サーバー/デーモン) のバージョン番号を検出するにはどうすればよいですか?
ターミナルを開き、次の nmap コマンドを入力します:
nmap -sV 192.168.1.1
サンプル出力:
TCP ACK (PA) および TCP Syn (PS) ping を使用してホストをスキャンする
ファイアウォールが標準 ICMP ping をブロックする場合、次のホスト発見方法を試してください。
nmap -PS 192.168.1.1nmap -PS 80,21,443 192.168.1.1nmap -PA 192.168.1.1nmap -PA 80,21,200-512 192.168.1.1
IP プロトコルを使用してホストをスキャン ping
nmap -PO 192.168.1.1
UDP を使用してホストをスキャン ping
このスキャンは、TCP のみをスクリーニングするファイアウォールとフィルターをバイパスする。
nmap -PU 192.168.1.1nmap -PU 2000.2001 192.168.1.1
TCP SYN スキャンを使用して、最もよく使用される TCP ポートを見つける
UDP サービスのホストをスキャンする (UDP スキャン)
インターネット上のほとんどの一般的なサービスは、TCP プロトコル上で実行されています。 DNS、SNMP、およびDHCPは、最も一般的なUDPサービスのうちの3つです。 UDPサービスを調べるには、次の構文を使用します:
nmap -sU nas03nmap -sU 192.168.1.1
サンプル出力:
Scan for IP protocol
このタイプのスキャンでは、どのIPプロトコル(TCP、ICMP、IGMPなど)を判断できるかを確認できます。
nmap -sO 192.168.1.1
Scan a firewall for security weakness
The following scan types exploit a subtle loophole in the TCP and good for testing security of common attacks:
See how to block Xmas packkets, syn-floods and other conman attacks with iptables.The スキャンタイプは、ターゲットマシンでサポートしているかどうか確認することができます。
Scan a firewall for packets fragments
-fオプションは、要求されたスキャン (ping スキャンを含む) に小さなフラグメント IP パケットを使用するようにします。 これは、TCP ヘッダを複数のパケットに分割することで、パケットフィルタ、侵入検知システム、およびその他の厄介なものが、何をしているかを検知しにくくするものです。
囮を使ったスキャンを隠す
-Dオプションは、リモートホストからは、囮として指定したホストもターゲットネットワークをスキャンしていると思わせます。 したがって、その IDS は、固有の IP アドレスからの 5-10 ポート スキャンを報告するかもしれませんが、どの IP がスキャンしていて、どれが無実のおとりであるかはわかりません:
nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ipnmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5
Scan a firewall for MAC address spoofing
How do I save output to a text file?
構文:
nmap 192.168.1.1 > output.txtnmap -oN /path/to/filename 192.168.1.1nmap -oN output.txt 192.168.1.1
Web サーバーをスキャンし、Nikto にパイプします
nmap -p80 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
nmap -p80,443 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
nmap を高速化する
nmap コマンドに -T オプションを渡す:nmap -v -sS -A -T4 192.168.2.5
サンプル出力:
namp コマンド ライン ツールが好きではないのか?
これまで、Linux および Unix のコマンドライン オプションを使用した Nmap コマンドの例を見てきました。 しかし、誰もが CLI を超快適に使えるわけではありません。 したがって、公式のネットワーク マッパー フロントエンド/GUI ツールである Zenmap という GUI アプリを使用することができます:
Zenmap は公式の Nmap セキュリティ スキャナー GUI です。 これは、マルチプラットフォーム (Linux、Windows、Mac OS X、BSD など) のフリーでオープンなアプリケーションで、Nmap を初心者でも簡単に使えるようにする一方で、経験豊富な Nmap ユーザーには高度な機能を提供することを目的としています。 よく使うスキャンはプロファイルとして保存でき、繰り返し実行しやすくなっています。 コマンドクリエーターにより、Nmapのコマンドラインを対話的に作成することができます。 スキャン結果を保存し、後で確認することができます。 保存されたスキャン結果を互いに比較して、その違いを確認することができます。 最近のスキャン結果は検索可能なデータベースに保存されます。
次のapt-getコマンドまたはaptコマンドを使用してzenmapをインストールできます。$ sudo apt-get install zenmap
サンプル出力:
次のコマンドを入力してzenmapを起動します:$ sudo zenmap
サンプル出力
Fig.02: zenmap in action
Linux および Unix/BSD サーバーでポート スキャンを検出およびブロックするにはどうすればよいですか。
以下のリソースをお試しください。
- ポート スキャン攻撃をリアルタイムで検出およびブロックする psad ツールの使用方法。
- Debian / Ubuntu Linux。 Shoreline Firewall (Shorewall) のインストールと設定.
- CentOS / Redhat Iptables Firewall Configuration Tutorial.
- Linux: 20 Iptables Examples For New SysAdmins.
- 20 Linux Server Hardening Security Tips.
まとめ
このガイドで、Linux向けの多くの例と使用法を含むNmapコマンドについて学習していただきました。 さらに詳しい情報については、次のリソースを参照してください:
- 公式 Nmap プロジェクトのホームページはこちら
Nmap コマンドにはさらに多くのオプションがあり、詳細については man ページまたはドキュメントを参照してください。 Nmapのコマンドラインでのお気に入りのトリックは何ですか?
🐧 Linux、オープン ソース & DevOps に関する最新のチュートリアルを RSS フィードまたは週刊メール ニュースで取得できます。
🐧 今のところ25件のコメントがあります… 追加 ↓
カテゴリ | List of Unix and Linux commands | |||
---|---|---|---|---|
File 管理 | cat | |||
Firewall | Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04 | |||
Network Utilities | dig – host – ip – nmap | |||
OpenVPN | CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 Network Utilities | OpenVPN | Network Utilities | Dig – host – ip – nmap04 – Ubuntu 20.04 |
パッケージマネージャ | apk – apt | |||
プロセス管理 | ||||
検索 | grep – whereis – which | |||
ユーザ情報 | groups – id – lastcomm – last – lid/libuser-.lid – logname – members – users – whoami – who – w | |||
WireGuard VPN | Alpine – CentOS 8 – Debian 10 – Firewall – Ubuntu 20.04 |