• ベストアンサー

LAN内のマシンのIPアドレス

Linuxでの話ですが、 http://orebibou.com/2015/05/lan%E5%86%85%E3%81%A7%E4%BD%BF%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8Bip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B6%E3%81%A4%E3%81%AE%E6%96%B9%E6%B3%95linuxwindows/ を参考に、LAN内で使われているマシンのIPアドレスを調べようとしました。 $ sudo nmap -sP 192.168.0.0/24 も $ for a in `seq 1 254` ; do ping -c 1 -w 0.5 192.168.0.$a > /dev/null && arp -a 192.168.0.$a | grep ether ; done も反応が遅すぎ、途中で切っちゃいました。 $ sudo netdiscover -r 192.168.1.0/24 は少し待っていると結果が表示されましたが、少し遅いです。 時間がかかるのは仕方ないのでしょうか? で、arp-scan がインストールされている状態で、次のようになります。 $ sudo arp-scan -I eth0 -l ioctl: No such device これは何がまずいのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • blacknon_
  • ベストアンサー率100% (1/1)
回答No.3

>$ sudo arp-scan -I eth0 -l >ioctl: No such device そもそも、eth0はあるんでしょうか…? これはデバイスがない場合に表示されるエラーなので、eth0が無いんじゃないかと思いますが。

noname#214079
質問者

お礼

ありがとうございます。 私の環境では eth0 でなく eth1 としなくてはいけなかったようです。 $ sudo arp-scan -I eth1 -l Interface: eth1, datalink type: EN10MB (Ethernet) Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 192.168.1.1 **:**:**:**:**:** Buffalo Inc. 192.168.1.3 **:**:**:**:**:** Dell Inc 2 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.8.1: 256 hosts scanned in 1.371 seconds (186.73 hosts/sec). 2 responded これは $ sudo netdiscover -r 192.168.1.0/24 の結果とも一致していました。

その他の回答 (3)

  • ohac
  • ベストアンサー率33% (1/3)
回答No.4

ブロードキャストに反応してくれる端末に限りますけど、pingの-bオプションを使う手もありますね。 例: sudo ping -b 192.168.0.255

noname#214079
質問者

お礼

ありがとうございます。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

存在しないIPアドレスの場合(および存在するが応答を返さないIPアドレスの場合)、帰ってこないことを確認するために一定時間待つ必要があります。それを254個シリアルに実行すると遅くなります。 また、ping -c 1 -w 0.5 と、-wの引数に無効なものを与えているので、デフォルト秒(手元の環境だと10秒)待っているのでしょう。pinc -c 1 -w 1 と指定するとタイムアウトが1秒になります。 ちょっと結果を見るのが大変ですが、パラレルに実行すると当然ながら速いです。 seq 1 254 | xargs -P 254 -i ping -c1 -w1 192.168.1.{} 他のツールは使ったことがないです。

noname#214079
質問者

お礼

ありがとうございます。 $ seq 1 254 | xargs -P 254 -i ping -c1 -w1 192.168.1.{} は確かに速いですね。 結果の意味のある部分だけ抜き出すと、以下のようになります。 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.549 ms --- 192.168.1.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.549/0.549/0.549/0.000 ms PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. 64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.071 ms --- 192.168.1.2 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.071/0.071/0.071/0.000 ms 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.432 ms --- 192.168.1.3 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.432/0.432/0.432/0.000 ms

  • heburusu
  • ベストアンサー率85% (140/164)
回答No.1

こんにちわ。 nmapもshellもIPアドレスをひとつずつチェックするから遅いのかもしれないですね。 fpingというツールもありますので試してみはいかがでしょうか?

参考URL:
http://unyouchan.blog.jp/archives/2186613.html
noname#214079
質問者

お礼

ありがとうございます。 早速インストールして使ってみました。 $ fping -r0 -t50 -g 192.168.1.1 192.168.1.253 2> /dev/null | grep alive 192.168.1.1 is alive 192.168.1.2 is alive 192.168.1.3 is alive $ sudo arp-scan -I eth1 -l の結果と合わせれば、自マシンが 192.168.1.2 であることも分かりました。 余談ですが、最近またここの質問サイト群の仕様が変わったようですね。

関連するQ&A