netselect であれこれ
※ netselect のオリジナルってどこなんだろ。各パッケージシステム(apt, gentoo, ports など)から手に入るんでいいんだけど。あ、Fink にはないな。
普段はこれと言って気にしてないんだけど、FreeBSD mirror はどこが近いのかなーと思い、自分で ping を打ちまくるツールでも書こうかと思ったけど、それもなんか面倒だと言ったら netselect を教えてもらった。
netselect HOST HOST HOST HOST
と書いていくと、いちばん反応の速いホスト名が返ってくるんだけど、例えば zsh 上では
netselect -vv 192.168.0.{1..254}
とやるとローカルのネットワーク上の IP アドレスの生死のチェックもできる。
netselect `cat FILE`
とやれば、あらかじめホスト名を列挙しておいたテキストファイルからリストを展開してチェックできる。いろんな目的に合わせて mirror サイトのリストを切り替えて使うことができるわけだ。便利便利。
ただし、ping によるチェックらしいんで ping を叩き落としているサイトのチェックには使えないと思う。
と思ったら純粋な ping ではないっぽい。ip alias の分は死んでいると返ってくる。実際に ping を打つと alias と言えど生きているのでこの返事はちょっと困る。何か詳しいこと知ってる人は教えてください。
mtr
OSX + Panther + Fink の組み合わせには netselect がないんでどうしようかと思っていたら
を見つけた。これは ping と traceroute を組み合わせた動きをして細かい様子を観察できるもの。gtk と curses で動く様子のスクリーンショットがリンク先から見れるので雰囲気はだいたいつかめると思う。これを
mtr -r -c 10 HOST
てな感じで report mode で動かしてやると curses でも gtk でもなく標準出力に出せるので、for と組み合わせたりして適当に加工すれば目的のデータの収集はできそう。