これには Nmap ユーティリティを使用できます。 Nmapは無料のネットワークスキャナーユーティリティです。
ちょうど試してください:
Sudo nmap -sn 192.168.1.0/24
ネットワーク識別子とサブネットマスクを置き換えてください。
ネットワークIDとサブネットマスクを見つける方法
コマンドip a
を使用します。
bash~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope Host lo
inet6 ::1/128 scope Host valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether c4:85:08:94:ee:9a brd ff:ff:ff:ff:ff:ff
inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0
inet6 fe80::c685:8ff:fe94:ee9a/64 scope link valid_lft forever preferred_lft forever
ここで、ポイント2にはwlan0
デバイスがあります。 inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0
、IPアドレス:192.168.3.66
、サブネットマスク:24
と表示されます。ネットワークIDは192.168.3.0
です。最後の数字を0に置き換えてください。
または、男性nmap
が言うように:
Sudo nmap -sn 192.168.1.0/24
これは、manページ nmap(1) からの引用です:
-sn (No port scan)
このオプションは、ホスト検出後にポートスキャンを実行せず、スキャンに応答した使用可能なホストのみを出力するようにNmapに指示します。これはしばしば「pingスキャン」として知られていますが、tracerouteおよびNSEホストスクリプトの実行を要求することもできます。
デフォルトでは、これはリストスキャンよりも1段階だけ邪魔になり、多くの場合同じ目的で使用できます。注目を集めることなく、ターゲットネットワークの軽度の偵察を可能にします。
起動しているホストの数を知ることは、すべての単一IPアドレスとホスト名のリストスキャンによって提供されるリストよりも攻撃者にとって価値があります。
多くの場合、システム管理者はこのオプションも有用だと感じています。ネットワーク上で使用可能なマシンをカウントしたり、サーバーの可用性を監視したりするのに簡単に使用できます。これはしばしばpingスイープと呼ばれ、多くのホストがブロードキャストクエリに応答しないため、ブロードキャストアドレスにpingするよりも信頼性が高くなります。
-sn
で行われるデフォルトのホスト検出は、ICMPエコー要求、TCP SYNからポート443、TCPで構成されます_ポート80へのACK、およびデフォルトでICMPタイムスタンプ要求。
特権のないユーザーが実行すると、SYNパケットのみが(connect
呼び出しを使用して)ターゲットのポート80および443に送信されます。
特権ユーザーがローカルイーサネットネットワーク上のターゲットをスキャンしようとすると、--send-ip
が指定されていない限り、ARP要求が使用されます。 -sn
オプションは、ディスカバリプローブタイプ(-P*
柔軟性を高めるために、-Pn
)を除くオプション。
これらのプローブタイプとポート番号オプションのいずれかが使用されている場合、デフォルトのプローブは上書きされます。 Nmapを実行しているソースホストとターゲットネットワークの間に厳密なファイアウォールが配置されている場合、これらの高度な技術を使用することをお勧めします。そうしないと、ファイアウォールがプローブまたはその応答をドロップしたときに、ホストを見逃す可能性があります。
Nmapの以前のリリースでは、
-sn
は-sP
と呼ばれていました。
arp
willslowlyは、アクティブなMACアドレスとIPまたはそれらがあればホスト名のリストを返します。より高速にしたい場合は、arp -n
を使用してDNSルックアップをスキップできます。何かに解析する必要がある場合、arp -an
は固定幅の列をスキップします。
$ arp
Address HWtype HWaddress Flags Mask Iface
10.10.0.11 ether 00:04:ff:ff:ff:d0 C eth0
10.10.0.16 ether 00:04:ff:ff:ff:a6 C eth0
raspbmc.local ether 00:1f:ff:ff:ff:9c C eth0
10.10.0.19 ether 00:04:ff:ff:ff:c9 C eth0
10.10.0.12 ether bc:f5:ff:ff:ff:93 C eth0
10.10.0.17 ether 00:04:ff:ff:ff:57 C eth0
10.10.0.1 ether 20:4e:ff:ff:ff:30 C eth0
HPF2257E.local ether a0:b3:ff:ff:ff:7e C eth0
10.10.0.15 ether 00:04:ff:ff:ff:b9 C eth0
tim ether 00:22:ff:ff:ff:af C eth0
10.10.0.13 ether 60:be:ff:ff:ff:e0 C eth0
それ以外の場合、ルーターはアクティブなデバイスのアイデアを提供できるはずです(ほとんどの場合)。
編集 davidclのコメントによると、この答えは私が最初に期待したほど完璧ではありません。
arp
は、何らかの以前の連絡先に依存しています。しかし、私の意見では、現代のデバイスはすべてブロードキャストレベルで非常におしゃべりです(実際、wiresharkを見る必要があります-それは教育です)。少なくともブロードキャストに応答しない限り、デバイスがネットワーク上に存在する可能性は低いです。 (最初に10.10.0.255でネットワーク上のすべてのデバイスをpingできることを確認するには、デバイスの90 +%を取得する可能性があります。)
私が何を意味するかについてのある種のアイデアを与えるために、上記の10.10.0.16は私たちのPVRです。 PCとPVRの間に直接のやり取りはなく、PVRで実行されているサービスはありません(UPNP/DLNAもありません)。
すぐに議論を進めるために...
nmap
は依然として最善の解決策ですnmap
は優れたツールです(特に、次に実行したいポートスキャンに適しています)が、この問題に対してはまだ少し不器用です(そして少し遅い)。シャーリーと呼ばないでください。これにはarp-scan
を使用します。
$ Sudo arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.2.1 ec:1a:59:61:07:b2 (Unknown)
192.168.2.50 90:59:af:3d:6d:bc (Unknown)
192.168.2.51 3c:97:0e:48:22:12 (Unknown)
192.168.2.52 00:18:31:87:8f:b0 Texas Instruments
4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 256 hosts scanned in 1.282 seconds (199.69 hosts/sec). 4 responded
arp-scan
を使用できます。
次のコマンドを使用してインストールします。
Sudo apt-get install arp-scan
すべてのIPアドレスと関連するMACアドレスをリストするには、次を使用します。
Sudo arp-scan --interface=eth0 --localnet
出力は次のようになります。
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 16777216 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.3 38:60:77:29:31:36 (Unknown)
192.168.1.8 4c:72:b9:7c:bb:7e (Unknown)
192.168.1.110 00:15:17:5f:d2:80 Intel Corporate
192.168.1.111 00:ff:88:5f:fd:f0 (Unknown)
192.168.1.153 00:15:17:5f:d2:82 Intel Corporate
192.168.1.180 52:54:00:70:04:02 QEMU
192.168.1.199 52:54:00:fe:7f:78 QEMU
試すことができます avahi-discover 。
このコマンドで(または上記のリンクをクリックして)インストールします:
Sudo apt-get install avahi-discover
avahi-discover
を実行します。ターミナルでこのコマンドを使用できます。
avahi-browse -a -t -d local
デフォルトでインストールされます。
最初にネットワークをスキャンして、nmap -sn 1.2.3.4/24
またはfping -g 1.2.3.4/24
を使用して、どのホストが到達可能/オンラインであるかを確認します
次に、arping
を使用して、IPアドレスに対応するMACアドレスを照会します。先の擬似コード:
for i in $(cat list-of-reachable-hosts)
do
arping $i
done
不正行為:ローカルスイッチのarpキャッシュを参照してください。それはあなたに素敵な概要を与えるはずです...
NetBIOSプロトコル がサポートされている場合は、使用したい
nbtscan 192.168.1.1-192.168.1.255
。
私はこの投稿に興味をそそられました。私にはこれが必要でした。
arp
ステートメントを使用してawk
出力を解析し、HTML出力を生成するシェルスクリプトを作成しました。スクリプトを実行し、出力をHTMLファイルにリダイレクトすると、IP、完全なMACアドレス、およびIEEE OUIルックアップページへのリンクを示すHTMLファイルが残ります。これは、NIC製造元によるクライアントの決定に役立ちます。
printf "<html>\n<title>LAN IPs and their MACs</title>\n<body>\n"
arp -a | awk '{print $2,$4}' | awk -F'[().: ]' '{print $2"."$3"."$4"."$5,$6,$7":"$8":"$9":"$10":"$11":"$12,"<a href=\"http://standards.ieee.org/cgi-bin/ouisearch?"$7$8$9"\">IEEE OUI Lookup "$7"-"$8"-"$9"</a><br>"}'
printf "\n</body>\n</html>\n"
最初にLANでnmap
スキャンを実行すると、ARPテーブルにエントリがあるので役立ちます。うまくいけば、フォーマットが翻訳されました。これを小ぎれいにして、テキストを表形式にすることができます。
いくつかの作業と検索の後、私はこのコマンドを発見しました:
nmap -sP -PE -PA21,23,80,3389 192.168.1.*
nmap:
ネットワーク探索ツールとセキュリティ/ポートスキャナー
-sP
(ポートスキャンをスキップ)。このオプションは、ホスト検出後にポートスキャンを実行せず、スキャンに応答した使用可能なホストのみを出力するようにNmapに指示します。これはしばしば「pingスキャン」として知られていますが、tracerouteおよびNSEホストスクリプトの実行を要求することもできます。デフォルトでは、これはリストスキャンよりも1段階だけ邪魔になり、多くの場合同じ目的で使用できます。注目を集めることなく、ターゲットネットワークの軽度の偵察を可能にします。起動しているホストの数を知ることは、すべての単一IPおよびホスト名のリストスキャンによって提供されるリストよりも攻撃者にとって価値があります。
-PE; -PP; -PM (
ICMP Pingタイプ)。前述の異常なTCP、UDP、およびSCTPホスト検出タイプに加えて、Nmapは、ユビキタスpingプログラムによって送信された標準パケットを送信できます。 NmapはICMPタイプ8(エコー要求)パケットをターゲットIPアドレスに送信し、利用可能なホストからの戻り値としてタイプ0(エコー応答)を期待します。 RFC 1122 [2]の要求に応じて応答するのではなく、パケット。このため、ICMPのみのスキャンは、インターネット上の未知のターゲットに対して十分に信頼できることはめったにありません。しかし、内部ネットワークを監視するシステム管理者にとっては、実用的で効率的なアプローチになる可能性があります。 -PEオプションを使用して、このエコー要求の動作を有効にします。
-A
(積極的なスキャンオプション)。このオプションは、追加の高度で積極的なオプションを有効にします。
21,23,80,3389
検索するポート
192.168.1.*
IPの範囲。あなたのものと交換してください
NmapとARPコンボの使用にうんざりした後、特定のIP範囲のすべてのMACアドレスを照会するこの小さなプログラムを作成しました: https://github.com/drkblog/findmacs
arp
を使用できます。
これにより、MACとIPが表示されます。