Hatena::Grouprubyist

いつかはRails(笑) このページをアンテナに追加 RSSフィード

2009-05-31

稼動中ホストのチェック

22:34 | 稼動中ホストのチェック - いつかはRails(笑) を含むブックマーク はてなブックマーク - 稼動中ホストのチェック - いつかはRails(笑) 稼動中ホストのチェック - いつかはRails(笑) のブックマークコメント

ping打ったり、csvをパースしたり、host名をチェックしたりする練習。

ネット内のIPアドレスとホスト名を指定したファイルを読み込んでチェックする。

登録した名前と違う名前や、未登録のホストがあったら警告する。

require "csv"
require "ping"
require "socket"

def reverse_lookup(ip)
    begin 
      return Socket.gethostbyname(ip)[0]
    rescue
      return 'noresponse'
    end
end

CSV.open('host.txt','r')do |row|
  ping_kekka=Ping.pingecho(row[0], timeout=3, service='echo')
  if ping_kekka 
    then
      name = reverse_lookup(row[0])
      if row[1] != nil
        then
          if row[1] == name
            then
              p 'no problem!'
            else
              p 'wrong host exist!'
          end
      else
        p 'unknown host working!'
    end
  end
end

なんかいろいろ調べながらなんで、数日かかりました。

あほー。

次はhtmlをパースするような奴を作ります。