TOPに戻る
鬱るんです
躁鬱病のITエンジニア「はまー」が心と体の模様を記した雑記帳。 大手IT企業で心身ともにぼろぼろになり退職した後、ほそぼそと働いたり事業を立ち上げようとして頓挫したり、作業所に通ったり障害者雇用で働いたりと紆余曲折したが、今は無職な毎日。

昨日、Perlのスクリプトでなんとかやろうと思っていたRogue Clientを特定する方法は、先輩がまた「WLCがsnmp出してるみたいだからMIBを調べればsnmpwalkで取得できそうだよ」とメールをくれた。
しかし、ネットワーク担当と言いつつ元々本業はサーバ管理&プログラマーだった私は、そのコマンドを使ったことがなかった。うう、未だに似非ネットワーク管理者なのだ。仕事といいつつプログラム書いてばっかりだし。とりあえずググったりmanを見たりして、どういうコマンドでどういうオプションで、とか調べてた。しかしオプションがいっぱいあって、ううう、どれをどう指定していいやらわからん。コミュニティ名ってどこに定義されているの?

しばらくして先輩が「できた?」とやって来た。「実はsnmpwallkって使ったことがなくて、今調べてて…」と話すと、あきれ顔。ちょこっとヒントをもらい、また続きをやる。コミュニティ名はsnmptrapd.conrfにもsnmpd.confにも書かれていなかったので、適当なスイッチにtelnetで入ってshow configで調べた。MIBファイルを調べてsnmptranslateというコマンドでシンボル名をOIDに変換し、

snmpwalk -v 2c -c コミュニティ名 -M /usr/local/etc/snmp/mib -m OID WLCのIPアドレス

でようやくRogueClientのMACアドレス一覧を取得できたのだ。よし、これで完璧!と思った矢先、

「そのRogue ClientがどのAPに接続しているかが、これだけではわからない」

ということに気がついた。全てのRogue Clientを調べたいのなら、別にどこに接続しているかという情報は必要ないのだが、調べたいのはあくまでもユーザに使用を許可していないAPに接続されているクライアントのMACアドレスであり、KnownなRogueAPに接続しているRogueClientは除外したいのだ。

う~ん、まだあと一歩。なんかいい方法ないかのう。

今日も一番のり~。

今日も駅まで歩いたけど、昨日よりも暑かったよう。マジクールしてくればよかった。

う~ん、仕事は増える一方。昨日、増えなければいいなあと書いた「無線LANがつながりにくいんですけど」メールがまた1つ来た。やれやれ。

何日か前に書いた無線LANの Rogue Client を特定する問題は、CISCOからは思った通りDB情報は開示できない、と回答が来たが、先輩が WLC(Wireless LAN Controller)にSSHでログインして、

show rogue ap clients RogueAPのMACアドレス

というコマンドで表示できることを発見した。よし、この手で行こう。

とは思ったものの、一筋縄ではいかない。Unknown な RogueAP のMACアドレスをsnmpのtrapで拾ってくるところまでは自動化できている。これをWLCに自動的にログインして・・・

の先ができない。WLC はスイッチやルータのように、ハードウェアベースなアプライアンスな機器であり、シェルやPerlのスクリプトを実行する、ということはできない。TeraTermのマクロのように、Linuxのサーバから自動的にログインして動的にコマンドを生成して送信してその結果を受信してログアウトできないものか、と試行錯誤していたら、CPAN で Net::SSH::Expect というモジュールを見つけた。おお、これこれ、というところで今日はタイムアウト。明日じっくり取り組もう。

新しいアプリの開発にも着手しなければ。今日はとりあえず骨組みだけ作った。これはまあ、ゆっくりやればいいか。無線LANの電波調査もやらなきゃなあ。ユーザ案件が優先だ。

最近こういう手合いのものに目がない。今回もCMで知るやいなや、Amazonに注文してしまった。

mono_ya_okane_no_shikumi.jpg

発売日の今日にちゃんと届いた。今年は既に医療費が10万円を超えてるし、確定申告をしないとなあ、とか思っていた矢先だったので、本当に猿にバナナな状態であった。買ったからには元を取ろう。