Mac

nmapを使ってネットワーク上のすべてのホストを見つける方法

nmapを使ってネットワーク上のすべてのホストを見つける方法

nmapを使ってネットワーク上のすべてのホストを見つける方法

多くの上級ユーザーは、IPアドレスの検出、リモートマシンへの接続、その他システム管理やネットワーク管理の目的で、ネットワーク上のすべてのホストを検索して一覧表示する必要があることがよくあります。ネットワーク上のすべてのホストとそのIPアドレスを検索する最も簡単な方法の一つは、nmapコマンドラインツールを使用することです。

NmapはMac OS、Windows、Linuxを含むすべての主要オペレーティングシステムと互換性があります。MacOSにはデフォルトでプリインストールされていませんが、Homebrewをインストールしてからnmapをインストールするか(brew install nmap)、パッケージマネージャーを使用せずにMacに直接nmapをインストールすることができます。そこで、ここではnmapを使ってネットワーク上のすべてのホストを検索し、一覧表示する方法について解説します。お使いのMacには既にnmapがインストールされていることを前提としています。何らかの理由でnmapを使用できない場合は、代替手段としてarpを使ってLANデバイスのIPアドレスを表示する方法が役立つかもしれません。

nmapを使ってネットワーク上のすべてのホストを見つける方法

nmapを使ってネットワーク上のすべてのホストのIPアドレスを一覧表示する準備はできましたか?簡単です。必要な手順は次のとおりです。

  1. まだ起動していない場合はターミナルを起動します
  2. 必要に応じてネットワーク IP と範囲を置き換えて、次のコマンド文字列を入力します。
  3. nmap -sn 192.168.1.0/24

  4. リターンキーを押して、ネットワーク上で検出されたホストが表示されるまで1~2分待ちます。

nmap のコマンド出力は次のようになります。ネットワーク上で見つかったデバイスとハードウェアのホスト IP アドレスが検出され、表示されます。

% nmap -sP 192.168.1.0/20
Starting Nmap ( https://nmap.org ) at 2022-06-15 16:24 PDT
Nmap scan report for 192.168.1.1
Host is up (0.0063s latency).
Nmap scan report for 192.168.1.2
Host is up (0.019s latency).
Nmap scan report for 192.168.1.9
Host is up (0.0051s latency).
Nmap scan report for 192.168.1.11
Host is up (0.021s latency).
Nmap scan report for 192.168.1.12
Host is up (0.0211s latency).
Nmap scan report for 192.168.1.15
Host is up (0.022s latency).
Nmap scan report for 192.168.1.25
Host is up (0.024s latency).
Nmap done: 4096 IP addresses (7 hosts up) scanned in 43.67 seconds

基本的に、nmap はネットワーク上のホスト IP 範囲に対して ping を実行し、ホストが存在するかどうかを確認します。ホストが存在し、応答があった場合は nmap の結果に返されます。応答がない場合はリストに表示されません。つまり、ping と ICMP 要求に応答しないネットワーク上のホストをどのように検出するかという疑問が生じます(一部のユーザーは Mac、Windows、または Linux コンピューターで ICMP 要求への応答を意図的に無効にしているため)。しかし、そのためには ping に頼るのではなく、ネットワーク上でポートスキャンを実行する必要があるでしょう。

-sP フラグも使用できます。これは、-sn が失敗した場合に、古いバージョンの nmap でも機能する可能性があります。結果はどちらでも同じです。

nmap -sP 192.168.1.0/24

nmapは最高のHomebrewパッケージの一つです。この記事に興味があるけれどまだインストールしていないという方は、Homebrewを起動してnmapをインストールする良い機会です。もちろん、Homebrewのインストール方法がわからない場合は、インストール方法を学ぶこともできます。

ネットワーク上のすべてのホストを検出して見つける別の方法をご存知ですか?ぜひ下のコメント欄であなたの秘訣を共有してください!