Linux端末どこ行った?
ディスプレイもキーボードも付けてない古いLinuxマシンの電源が入っているがIPアドレス忘れてしまった。
RaspberryPiでブロードキャストpingで見つけようと思ったがなかなかうまくいかない。
$ping 192.168.1.255 とやるも応答なし。
ちょっとググって
$ sudo sh -c 'echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts'
でブロードキャストpingが打てるようになったが、応答するのはルータだけ。
仕方ないので、pythonで192.168.1.1~192.168.1.254にpingをかけて応答のある者のみ表示するちょんプロを作成した。
使用方法:
pythonのpingsモジュールを使用してpingを打つためにrootの権限が必要なので、
モジュールをsudo でインストール。
$ sudo pip3 install pings
■pin.pyを作成
---------------------------
# -*- coding: utf-8 -*-
# 192.168.1.1~254にpingを打って調べる
import pings
p = pings.Ping()
i = 1
for i in range(1,254) :
res = p.ping("192.168.1." + str(i))
if res.is_reached():
print("==>" + "192.168.1." + str(i) +"- OK")
i += 1
else:
i += 1
---------------------------------
$python pin.py
==>192.168.1.1- OK
==>192.168.1.2- OK
==>192.168.1.5- OK
==>192.168.1.6- OK
==>192.168.1.8- OK
==>192.168.1.11- OK
==>192.168.1.12- OK
==>192.168.1.13- OK
==>192.168.1.22- OK
==>192.168.1.24- OK
==>192.168.1.30- OK
==>192.168.1.32- OK
==>192.168.1.38- OK
==>192.168.1.111- OK
==>192.168.1.117- OK
==>192.168.1.128- OK
==>192.168.1.253- OK
結果:192.168.1.30が古いLinuxマシンでした。
ちょっと時間がかかるのが難点ですね。もっと簡単でいい方法ないかな?
$ping 192.168.1.255 これができれば一番いいのですが。。。