- ベストアンサー
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 これは何がまずいのでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>$ sudo arp-scan -I eth0 -l >ioctl: No such device そもそも、eth0はあるんでしょうか…? これはデバイスがない場合に表示されるエラーなので、eth0が無いんじゃないかと思いますが。
その他の回答 (3)
- ohac
- ベストアンサー率33% (1/3)
ブロードキャストに反応してくれる端末に限りますけど、pingの-bオプションを使う手もありますね。 例: sudo ping -b 192.168.0.255
お礼
ありがとうございます。
- notnot
- ベストアンサー率47% (4900/10359)
存在しない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.{} 他のツールは使ったことがないです。
お礼
ありがとうございます。 $ 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)
こんにちわ。 nmapもshellもIPアドレスをひとつずつチェックするから遅いのかもしれないですね。 fpingというツールもありますので試してみはいかがでしょうか?
お礼
ありがとうございます。 早速インストールして使ってみました。 $ 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 であることも分かりました。 余談ですが、最近またここの質問サイト群の仕様が変わったようですね。
お礼
ありがとうございます。 私の環境では 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 の結果とも一致していました。