らずぱい日記

定年したので日記でもかくか。って感じ

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 -*-

# pingの応答で接続端末のIPアドレスを探す

# 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 これができれば一番いいのですが。。。