web-dev-qa-db-ja.com

Linux:サブネット内のすべてのホストにpingを実行します

次のコマンドを発行して、サブネット内のすべてのホストにpingするためのsolarisコマンドが1つあります。

ping -s 255.255.255.255

Linuxでこれに似たものはありますか?私の意図は、すべてのホストにpingした後、次のように1つのMACアドレスを見つけることです。

arp -an | grep mac_address
5
user173141

ブロードキャストアドレスにpingを送信するだけです。 GNU/Linuxバージョンのpingでは、-bスイッチを使用する必要があります

-bブロードキャストアドレスへのpingを許可します

Solarisの-sスイッチに直接相当するものはないようです(毎秒pingして統計を収集するだけです)が、おそらく Linuxのmanページ -に埋もれています読みます( Solais ones かもしれません)。

255.255.255.255にもpingを送信しません(完了するまでに時間がかかる場合があります)接続先のネットワークのブロードキャストアドレスを使用します。

2
user9517

サブネットのブロードキャストアドレスへのpingはいつでも試すことができます。ローカルネットワークの設定に依存しますが、あなたはそれを見つけることができます

$ ifconfig wlp4s0 | grep Bcast
      inet addr:192.168.199.47  Bcast:192.168.199.255  Mask:255.255.255.0

Linuxからのpingには、-bコマンドラインスイッチが必要です。これは、コマンドの予防策の1つです。

ただし、これは、初期の時代に意図されていたとしても、ブロードキャストアドレスに送信されたICMP ECHO要求に実際に応答するのはデバイスそのものであるため、サブネットに接続されたすべてのデバイスからすべてのMACアドレスを収集することを保証するものではありません。 TCP/IP RFC(/proc/sys/net/ipv4/icmp_echo_ignore_broadcastsが1に設定されているかどうかを確認)。

すべてのアドレスを確実にカバーするには、次のコマンドで個別にpingします

$ for ip in 192.168.199.{1..254}; do ping -c1 ${ip} & done

特殊なスキャンタイプのnmapを次のように使用すると、多かれ少なかれ同じことが実現します。

$ Sudo nmap -sn -PE -n 192.168.179.1-254

クライアントにMACアドレスを要求する方法を微調整できるので、これも私の推奨する調査方法です。

6
Nils Magnus

試す

ping -b 10.0.0.255

ifconfig show broadcast address is 10.0.0.255で

0
SoabTI