技術ノート Linux Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法

Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法

重要なポイント

  • Linux コンピューターに nmap がまだインストールされていない場合は、nmap をインストールします。 Ubuntu では「sudo apt-get install nmap」を実行するか、Fedora では「sudo dnf install nmap」を実行します。
  • nmap を使用してネットワークをスキャンし、接続されているデバイスの IP アドレスを検出します。クイック スキャン (-sn オプション) またはデバイス上のポートのプローブを含む詳細なスキャンを実行できます。

ホーム ネットワークに何が接続されているか知っていると思いますか?驚かれるかもしれません。 Linux で nmap 使用して確認する方法を学習します。これにより、ネットワークに接続されているすべてのデバイスを探索できるようになります。

ホーム ネットワークは非常に単純で、詳しく調べても何も学べることはないと思われるかもしれません。あなたは正しいかもしれませんが、あなたが知らなかったことを学ぶ可能性はあります。ブロードバンド ルーター、ラップトップ、デスクトップ コンピューターなどの「通常の」ネットワーク デバイスに加えて、 モノのインターネット デバイス、電話やタブレットなどのモバイル デバイス、スマート ホーム革命が急増していることにより、これは目を見張るものとなるかもしれません。

必要に応じて、nmap をインストールします

nmap コマンドを使用してみます。コンピュータにインストールされている他のソフトウェア パッケージによっては、 nmap すでにインストールされている場合があります。

そうでない場合は、次の方法で Ubuntu にインストールします。

 sudo apt-get install nmap

Fedora にインストールする方法は次のとおりです。

 sudo dnf インストール nmap

Manjaro にインストールする方法は次のとおりです。

 sudo pacman -Syu nmap

Linux ディストリビューションのパッケージ マネージャーを使用して、他のバージョンの Linux にインストールできます。

Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法

IP アドレスを確認する

最初のタスクは、Linux コンピューターの IP アドレスを確認することです。ネットワークで使用できる最小 IP アドレスと最大 IP アドレスがあります。これは、ネットワークの IP アドレスのスコープまたは範囲です。 IP アドレスまたは IP アドレスの範囲を nmap に提供する必要があるため、それらの値が何であるかを知る必要があります。

便利なことに、Linux には ip というコマンドが用意されており、それには addr (アドレス) という オプションがあります ip 、スペース、 addr 入力し、Enter キーを押します。

 IPアドレス

出力の下部セクションに IP アドレスが表示されます。その前に「inet」というラベルが付いています。

このコンピュータのIPアドレスは「192.168.4.25」です。 「/24」は、サブネット マスク内に 8 つの 1 が 3 セット連続して存在することを意味します。 (そして、3 x 8 = 24。)

バイナリのサブネット マスクは次のとおりです。

 11111111.11111111.11111111.00000000

10 進数では 255.255.255.0 となります。

サブネット マスクと IP アドレスは、IP アドレスのどの部分がネットワークを識別し、どの部分がデバイスを識別するかを示すために使用されます。このサブネット マスクは、IP アドレスの最初の 3 つの数字がネットワークを識別し、IP アドレスの最後の部分が個々のデバイスを識別することをハードウェアに通知します。また、8 ビット 2 進数で保持できる最大数は 255 であるため、このネットワークの IP アドレス範囲は 192.168.4.0 ~ 192.168.4.255 になります。

そのすべてが「/24」にカプセル化されています。幸いなことに、 nmap その表記法で動作するため、 nmap 使用を開始するために必要なものが揃っています。

Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法

nmap を使ってみる

nmap ネットワーク マッピング ツール です。これは、提供する範囲内の IP アドレスにさまざまなネットワーク メッセージを送信することで機能します。取得した応答の種類を判断して解釈することで、調査しているデバイスについて多くのことを推測できます。

nmap を使用して簡単なスキャンを開始しましょう。 -sn (ポートをスキャンしない) オプションを使用します。これにより、 nmap に対して、現時点ではデバイス上のポートをプローブしないように指示されます。軽量で迅速なスキャンを実行します。

それでも、 nmap 実行には少し時間がかかることがあります。もちろん、ネットワーク上のデバイスの数が増えれば増えるほど、時間がかかります。最初に調査と偵察作業をすべて実行し、最初のフェーズが完了するとその結果を提示します。 1 分間ほど何も目に見えないことが起こっても驚かないでください。

使用する IP アドレスは、前に ip コマンドを使用して取得したものですが、最終的な数値は 0 に設定されます。これは、このネットワーク上で最初に使用できる IP アドレスです。 「/24」は、 nmap にこのネットワークの全範囲をスキャンするように指示します。パラメータ「192.168.4.0/24」は、「IP アドレス 192.168.4.0 から始まり、192.168.4.255 までのすべての IP アドレスまで機能する」と解釈されます。

sudo 使用していることに注意してください。

 sudo nmap -sn 192.168.4.0/24

少し待った後、出力がターミナル ウィンドウに書き込まれます。

このスキャンは sudo 使用せずに実行できますが、 sudo を使用すると、可能な限り多くの情報を抽出できます。たとえば、 sudo がないと、このスキャンでは製造元の情報が返されません。

-sn オプションを使用する利点は、スキャンが迅速かつ軽量であることに加えて、ライブ IP アドレスのきちんとしたリストが得られることです。言い換えれば、ネットワークに接続されているデバイスのリストとその IP アドレスが得られます。また、可能な場合には、 nmap 製造元が特定されます。初めての試みとしては悪くありません。

これがリストの一番下です。

接続されているネットワーク デバイスのリストを作成したので、その数がわかります。 15 台のデバイスの電源が入っており、ネットワークに接続されています。一部の製品の製造元はわかっています。あるいは、後で説明するように、 nmap がメーカーとして報告したものを、可能な限り入手しています。

結果を確認すると、見覚えのあるデバイスが見つかる可能性があります。そうでないものもあるかもしれません。これらはさらに調査する必要があります。

これらのデバイスの一部が何であるかは私には明らかです。 Raspberry Pi Foundation については説明するまでもありません。 Amazon Technologies デバイスは私の Echo Dot になります。私が持っている Samsung デバイスはレーザー プリンターだけなので、これに絞り込みます。 Dell 製としてリストされているデバイスがいくつかあります。それらは簡単です、それはPCとラップトップです。 Avaya デバイスは、本社の電話システム内線を提供する Voice Over IP 電話です。家でもっと簡単にせがまれるようになるので、私はその装置のことをよく知っています。

しかし、まだ疑問が残っています。

私にとってまったく意味のない名前が付いたデバイスがいくつかあります。たとえば、Liteon テクノロジーや Elitegroup Computer システムなどです。

私は (かなり) 複数の Raspberry PI を持っています。ネットワークに接続されている数は常に変化します。これは、再イメージ化され、再利用されるにつれて、勤務中と勤務外が継続的に入れ替わるためです。しかし、間違いなく、複数が表示されるはずです。

不明としてマークされたデバイスがいくつかあります。明らかに、調査する必要があるだろう。

Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法

より詳細なスキャンを実行する

-sn オプションを削除すると、 nmap デバイス上のポートのプローブも試行します。ポートは、デバイス上のネットワーク接続用の番号が付けられたエンドポイントです。集合住宅を考えてみましょう。すべてのアパートメントの番地 (IP アドレスに相当) は同じですが、各アパートメントには独自の番号 (ポートに相当) があります。

デバイス内の各プログラムまたはサービスにはポート番号があります。ネットワーク トラフィックは、IP アドレスだけでなく、IP アドレスとポートにも配信されます。一部のポート番号は事前に割り当てられているか、予約されています。これらは常に、特定の種類のネットワーク トラフィックを伝送するために使用されます。たとえば、ポート 22 は SSH 接続用に予約されており 、ポート 80 は HTTP Web トラフィック用に予約されています。

nmap を使用して各デバイスのポートをスキャンし、どのポートが開いているかを確認します。

nmap 192.168.4.0/24

今回は各デバイスについてさらに詳しくまとめてみました。ネットワーク上には 13 台のアクティブなデバイスがあると言われています。ちょっと待って;先ほどまで 15 台のデバイスがありました。

これらのスキャンを実行すると、デバイスの数が変わる可能性があります。おそらく、モバイル デバイスの敷地内への出入り、または機器のオンとオフが原因であると考えられます。また、電源がオフになっているデバイスの電源をオンにすると、最後に使用したときと同じ IP アドレスが割り当てられない可能性があることに注意してください。そうかもしれないが、そうではないかもしれない。

たくさんのアウトプットがありました。これをもう一度実行してファイルにキャプチャしましょう。

 nmap 192.168.4.0/24 > nmap-list.txt

これで、 less を使用してファイルをリストし、必要に応じて検索できるようになりました。

 nmap-list.txt を省略

nmap レポートをスクロールすると、説明できないものや、異常に見えるものを探します。リストを確認するときは、さらに調査したいデバイスの IP アドレスをメモしてください。

以前に生成したリストによると、192.168.4.10 は Raspberry Pi です。何らかの Linux ディストリビューションを実行することになります。では、ポート 445 は何に使用されているのでしょうか? 「microsoft-ds」と表記されます。 Microsoft、Linux を実行している Pi 上で?もちろんそれについては検討するつもりです。

192.168.4.11 は、以前のスキャンで「不明」としてタグ付けされました。多くのポートが開いています。それが何なのかを知る必要があります。

192.168.4.18 も Raspberry Pi として識別されました。しかし、その Pi とデバイス 192.168.4.21 は両方ともポート 8888 を開いており、これは「sun-answerbook」によって使用されていると説明されています。 Sun AnswerBook は、何年も前に廃止された (初歩的な) ドキュメント検索システムです。言うまでもなく、それはどこにもインストールされていません。それは見てみる必要がある。

デバイス 192.168.4.22 は以前に Samsung プリンタとして識別されていましたが、ここでは「printer」というタグによって確認されています。私の目に留まったのは、HTTP ポート 80 が存在し、開いていることです。このポートは Web サイトのトラフィック用に予約されています。私のプリンターには Web サイトが組み込まれていますか?

デバイス 192.168.4.31 は、Elitegroup Computer Systems という会社によって製造されていると報告されています。聞いたこともありませんし、デバイスには多くのポートが開いているので、それについて調べてみます。

デバイスが開いているポートが多いほど、サイバー犯罪者がそのデバイスに侵入する可能性が高くなります (デバイスがインターネットに直接公開されている場合)。まるで家のようだ。ドアや窓が多いほど、泥棒の侵入口が増える可能性があります。

Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法

容疑者を並べました。彼らに話させましょう

デバイス 192.168.4.10 は、ポート 445 が開いている Raspberry Pi で、「microsoft-ds」と記述されています。インターネットで少し検索すると、通常、ポート 445 が Samba に関連付けられていることがわかります。 Samba は、Microsoft のサーバー メッセージ ブロック プロトコル (SMB) を 実装したフリー ソフトウェア です。 SMB は、ネットワーク上でフォルダーとファイルを共有する手段です。

意味あり;私はその特定の Pi を一種の小型ネットワーク接続ストレージ デバイス (NAS) として使用します。 Samba を使用しているので、ネットワーク上のどのコンピュータからでも接続できます。わかりました、それは簡単でした。 1 つ終了、あといくつかあります。

Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法

多くのポートが開いている不明なデバイス

IP アドレス 192.168.4.11 のデバイスは製造元が不明で、多くのポートが開いていました。

nmap より積極的に使用して、デバイスからより多くの情報を取り出すことを試みることができます。 -A (積極的なスキャン) オプションは、 nmap にオペレーティング システムの検出、バージョンの検出、スクリプト スキャン、およびトレースルート検出の使用を強制します。

-T (タイミング テンプレート) オプションを使用すると、0 ~ 5 の値を指定できます。これにより、タイミング モードの 1 つが設定されます。タイミング モードには、パラノイド (0)、卑劣 (1)、丁寧 (2)、通常 (3)、攻撃的 (4)、非常識 (5) という素晴らしい名前が付けられています。数値が小さいほど、 nmap 帯域幅や他のネットワーク ユーザーに与える影響は小さくなります。

nmap には IP 範囲が提供されていないことに注意してください。私たちは nmap を単一の IP アドレス、つまり問題のデバイスの IP アドレスに焦点を当てています。

 sudo nmap -A -T4 192.168.4.11

この記事の調査に使用したマシンでは、 nmap そのコマンドを実行するのに 9 分かかりました。出力が表示されるまでにしばらく待つ必要があっても驚かないでください。

残念ながら、この場合、出力では期待したような簡単な答えは得られません。

私たちがさらに学んだことの 1 つは、Linux のバージョンが実行されているということです。私のネットワークではそれほど驚くべきことではありませんが、このバージョンの Linux は奇妙です。かなり古いもののようです。 Linux はほぼすべてのモノのインターネット デバイスで使用されているため、それがヒントになる可能性があります。

出力 nmap のさらに下には、デバイスの メディア アクセス コントロール アドレス (MAC アドレス) が示されています。これは、ネットワーク インターフェイスに割り当てられる一意の参照です。

MAC アドレスの最初の 3 バイトは 、組織固有識別子 (OUI) として知られています。これは、ネットワーク インターフェイスのベンダーまたは製造元を識別するために使用できます。もしあなたが、35,909 件のデータベースをまとめたオタクであれば、それは可能です。

私のユーティリティは Google のものだと言います。 Linux の特殊なバージョンに関する以前の質問と、それがモノのインターネット (IoT) デバイスではないかという疑惑とともに、これは私の Google Home ミニ スマート スピーカーを正々堂々と指摘しています。

Wireshark の製造元検索ページを 使用して、同じ種類の OUI ルックアップをオンラインで実行できます。

心強いことに、それは私の結果と一致しています。

デバイスの ID を確認する 1 つの方法は、スキャンを実行し、デバイスの電源をオフにして、再度スキャンすることです。 2 番目の結果セットから欠落している IP アドレスは、電源をオフにしたばかりのデバイスになります。

Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法

サンアンサーブック?

次の謎は、IP アドレス 192.168.4.18 の Raspberry Pi の「sun-answerbook」の説明でした。同じ「sun-answerbook」の説明が 192.168.4.21 のデバイスにも表示されていました。デバイス 192.168.4.21 は Linux デスクトップ コンピューターです。

nmap 既知のソフトウェア関連付けのリストからポートの使用を最善に推測します。もちろん、これらのポートの関連付けのいずれかが適用できなくなった場合(おそらくソフトウェアが使用されなくなり、 サポートが終了し た場合)、スキャン結果に誤解を招くポートの説明が表示される可能性があります。ここではおそらくそれが当てはまり、Sun AnswerBook システムの歴史は 1990 年代初頭にまで遡り、そのことを聞いたことがある人にとっては遠い記憶にすぎません。

では、それが古い Sun Microsystems の ソフトウェアではないとしたら、これら 2 つのデバイス、Raspberry Pi とデスクトップにはどのような共通点があるのでしょうか?

インターネット検索では、役立つものは何も見つかりませんでした。ヒット数も多かったです。ポート 80 を使用したくない Web インターフェイスを備えたものは、フォールバックとしてポート 8888 を選択しているようです。したがって、次の論理的なステップは、ブラウザを使用してそのポートへの接続を試みることでした。

ブラウザのアドレスとして 192.168.4.18:8888 を使用しました。ブラウザ上でIPアドレスとポートを指定する形式です。 IP アドレスとポート番号を区切るには、コロン : 使用します。

実際にWebサイトがオープンしました。

これは、 Resilio Sync を実行しているデバイスの管理ポータルです。

いつもコマンドラインを使っているので、この機能のことをすっかり忘れていました。したがって、Sun AnswerBook のエントリ リストは完全な赤ニシンであり、ポート 8888 の背後にあるサービスが特定されていました。

隠された Web サーバー

次に確認するために記録した問題は、プリンターの HTTP ポート 80 でした。ここでも、 nmap 結果から IP アドレスを取得し、それをブラウザのアドレスとして使用しました。ポートを指定する必要はありませんでした。ブラウザはデフォルトでポート 80 を使用します。

見よ、見よ。私のプリンタには Web サーバーが組み込まれています。

これで、印刷したページ数、トナーのレベル、その他の役立つ情報や興味深い情報を確認できるようになりました。

別の不明なデバイス

192.168.4.24 のデバイスは、これまでに試したどの nmap スキャンでも何も明らかにしませんでした。

-Pn (pingなし) オプションを追加しました。これにより、 nmap ターゲット デバイスが起動していると想定し、他のスキャンを続行します。これは、デバイスが期待どおりに反応せず、 nmap を混乱させてオフラインであると認識させる場合に役立ちます。

 sudo nmap -A -T4 -Pn 192.168.4.24

これにより情報のダンプが取得されましたが、デバイスを特定するものは何もありませんでした。

Mandriva Linux の Linux カーネルを実行していると報告されています。 Mandriva Linux は 2011 年に廃止された ディストリビューションでした。 OpenMandriva として、それをサポートする新しいコミュニティとともに存続します。

おそらく別の IoT デバイスでしょうか?おそらくそうではありません。私は 2 つしか持っていませんが、両方とも説明済みです。

部屋ごとのウォークスルーや物理的なデバイスの数を調べても、何も得られませんでした。 MACアドレスを調べてみましょう。

それで、それは私の携帯電話だったことがわかりました。

Wireshark の製造元検索ページ を使用して、これらの検索をオンラインで実行できることに注意してください。

Elitegroup コンピュータ システム

私が受けた最後の 2 つの質問は、私が認識していないメーカー名を持つ 2 つのデバイス、つまり Liteon と Elitegroup Computer Systems に関するものでした。

タックルを変えましょう。ネットワーク上のデバイスの ID を特定するのに役立つもう 1 つのコマンドは、 arp です。 arp 、Linux コンピュータのアドレス解決プロトコル テーブルを操作するために使用されます。これは 、IP アドレス (またはネットワーク名) から MAC アドレスに 変換するために使用されます。

arp がコンピュータにインストールされていない場合は、次のようにしてインストールできます。

Ubuntu では、 apt-get 使用します。

 sudo apt-get install net-tools

Fedora では dnf 使用します。

 sudo dnf install net-tools

Manjaro では pacman 使用します。

 sudo pacman -Syu net-tools

デバイスとそのネットワーク名のリストを取得するには (デバイスにネットワーク名が割り当てられている場合)、 arp と入力して Enter キーを押すだけです。

これは私の研究マシンからの出力です。

最初の列の名前は、デバイスに割り当てられたマシン名 (ホスト名またはネットワーク名とも呼ばれます) です。それらの一部は私が設定したもの ( Nostromo Cloudbase Marineville など) であり、また一部はメーカーによって設定されたもの ( Vigor.router など) です。

この出力により、 nmap からの出力と相互参照する 2 つの手段が得られます。デバイスの MAC アドレスがリストされているため、 nmap の出力を参照してデバイスをさらに特定できます。

また、 ping でマシン名を使用でき、 ping 基になる IP アドレスが表示されるため、各名前に対して順番に ping を使用することで、マシン名と IP アドレスを相互参照できます。

たとえば、Nostromo.local に ping を実行して、その IP アドレスを調べてみましょう。マシン名では大文字と小文字が区別されないことに注意してください。

 nostromo.localにpingを実行します

ping を停止するには、Ctrl+C を使用する必要があります。

出力には、その IP アドレスが 192.168.4.15 であることが示されています。そしてそれは、Liteon を製造元とした最初の nmap スキャンで検出されたデバイスです。

Liteon 社は、多くのコンピュータ メーカーで使用されているコンピュータ コンポーネントを製造しています。この場合、それは Asus ラップトップ内の Liteon Wi-Fi カードです。したがって、前に述べたように、 nmap によって返される製造元の名前は、最善の推測にすぎません。 nmap どのようにして Liteon Wi-Fi カードが Asus ラップトップに取り付けられていることを確認しましたか?

そして最後に。 Elitegroup Computer Systems によって製造されたデバイスの MAC アドレスは、LibreELEC.local という名前を付けたデバイスの arp リストにあるアドレスと一致します。

これは、 LibreELEC メディア プレーヤー を実行する Intel NUC です。つまり、この NUC には Elitegroup Computer Systems 社のマザーボードが搭載されています。

そして、すべての謎が解決されました。

すべてを考慮

このネットワーク上に不可解なデバイスがないことを確認しました。ここで説明する手法を使用して、ネットワークを調査することもできます。これは、自分の内なるオタクを満たすため、またはネットワークに接続されているすべてのものにはそこに存在する権利があると自分自身を満足させるために、興味から行う場合があります。

接続されたデバイスにはあらゆる形状とサイズがあることに注意してください。私はしばらくグルグル回って奇妙なデバイスを追跡しようとしていたが、それが実際に私の手首にあるスマートウォッチであることに気づきました。

Linuxコマンド

ファイル

tar pv cat tac chmod grep diff sed ar man pushd popd fsck testdisk seq fd pandoc cd $PATH awk join jq fold uniq journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · パッチ · 変換 · rclone · シュレッド · srm · scp · gzip · chattr · カット · 検索 · umask · wc · tr

プロセス

エイリアス · スクリーン · トップ · ナイス · renice · 進行状況 · strace · systemd · tmux · chsh · 履歴 · at · バッチ · フリー · what · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · タイムアウト · ウォール · はい · キル · スリープ · sudo · su · タイム · groupadd · usermod · グループ · lshw · シャットダウン · 再起動 · 停止 · パワーオフ · パスワード · lscpu · crontab · 日付 · bg · fg · pidof · nohup · pmap

ネットワーキング

netstat ping ip ss whois fail2ban bmon dig finger nmap ftp curl wget who whoami w iptables ssh-keygen ufw arping firewalld

関連: 開発者と愛好家のための最高の Linux ラップトップ

「Linux 上の nmap を使用してネットワーク上のすべてのデバイスを表示する方法」に関するベスト動画選定!

【ネットワーク基礎講座7(Linux基礎講座7)】ネットワーク監視コマンド1 / ping / route / ネットワーク設定ファイル【6:52】
【すぐできる!】誰でも簡単!Linux をコマンド操作してみよう! #1 パッケージ管理 #Linux #APT