コンピュータやソフトウェアのあれこれ@道民(&元道民)
network
Hokkaido.cap #10 に参加してきました
4月 30th
4月27日(金)に行われたHokkaido.cap #10 に参加しました。
今回は実践パケット解析学習編・最終回。
参考文献のところに載っている他の解析ツールについて勉強しました。
知らないツールばかりだったので新しい発見がたくさんありました。
様々な解析ツール
パケットを解析することができるツールは、使い方によってはクラッキングツールになる、とても危険な道具です。諸刃の剣。
なので、参考文献に載っているツール群も、ウイルス対策ソフトによって「危険なサイト」としてダウンロードページがブロックされることも多いようです。
たしかに、強力なことができるほど便利だけど、その分、悪用した時にも便利に使えるのですよね。
もちろん、クラッキングツールだけではなく、疑似パケットを作成するパケットジェネレーターや、動かしていると”なんかかっこいい”ツールなどもありました。
標準的なネットワークモニタ
よく使用するネットワークモニタツールとしてtcpdump、Microsoft Network Monitor 3、TCPView、NetworkMinorが紹介されました。tcpdumpはギリギリしっていたけれど、他は使ったことはなかったです。
こういうツールを業務で使うことはあまりないけれど、こういうツールがあると知っておくことは大事だなと思いました。
ネットワークは解析すれば簡単に見える物であるということを忘れないようにしないと。
とても大事なこと
許可なく他人の通信をキャプチャしたらダメ、絶対。 犯罪です。(有線電気通信法、電波法)
また、パケット解析の技術は、トラブルシューティングなどを通じて、自分の経験として身につけることが大事であるという話もありました。
この辺りは「コードを書かないとプログラミングの技術は向上しない」のととても似ているなー。
何事も手を動かして、体験して身につけていく物なのですよね。
CTF
パケット解析を題材にしたクイズにチャレンジしました。北海道で有名なあの人のプライベート写真がゲットできるチャンスです。
張り切って挑戦したものの、Hokkaido.capへの参加が2回空いてしまっていたというのもあり、Wiresharkの使い方をすっかり忘れていました・・・ぐぬぬ・・・
しかし、それでもなんとかそれっぽいキーワードを探して、時間内に画像をゲットすることができました。
最後に答え合わせをしたところ、やっぱり無駄なことをたくさんやっていたなあ。
そして答えの近くでグルグル回っていたなあ。
Wiresharkを使いこなせばもう少し楽にできたところを、力技で解いてしまった感は否めない。
Hokkaido.cap は実践パケット解析が一段落したということで、今後は不定期開催になります。
普段の業務で直接的に使うことはあまりないのだけど、いろんな知識を広げるためにも、また次回参加したいと思います
MyDNSのリニューアルに合わせてDiCEプラグインを修正
1月 30th
自宅サーバーはダイナミックDNSにMyDNS.JPを使い、DiCEをマシンに入れて、IPの変更を通知させています。
昨年9月にMyDNSが刷新されたのですが、そのタイミングでどうもDiCEの通知がうまく行っていないっぽくて。
しばらく手動で更新していたのですが、DiCEプラグインを修正すれば良い事がわかりました。
やろうやろうと後回しにしていたのですが、DiCEのプラグイン修正を行いましたのでメモしておきます。
DiCE用のプラグインファイル – MyDNS.JPのブログを参考に。
プラグインフォルダの場所
実行コマンド diced と同じ位置に plug-in フォルダがあるよ。
私の場合は
/usr/local/bin/DiCE/plug-in
※若干ディレクトリがおかしい気がする
plug-inフォルダの中にたくさんプラグインファイルがありますが、今回はMyDNS.JP.plgを変更する。
変更内容
- [Updater]Encode
EUC -> UTF-8
- [Response]
1=更新をしました 18=パスワードが違います 1=login_status = 1
↓
1=Login and IP address notify OK 18=パスワードが違います
- [Messages]
1=IPアドレスを更新しました 18=ユーザー名(マスターID)またはパスワードが無効です
↓
1=Login and IP address notify OK 18=ユーザー名(マスターID)またはパスワードが無効です
これも1が変更
1が変更になっている
これで問題なく動くようになるはずです。様子を見てみます。
通知がうまく行っていなかったらこの記事に追記します。
でも2008年から開発が止まっているソフトにIP通知を任せては行けない気がする、そもそも。
LOCAL DEVELOPER DAY ’11/infraに参加しました
12月 5th
12月3日(土)に行われたLOCAL DEVELOPER DAY ’11/infraに参加しました。
インフラよりのイベントだったので、理解できる話があるのかな…と若干不安だったのですが
すごく、よいセッションを聞くことができました。
ヤマハルータはどのような存在なのだろう? 平野尚志さん
ヤマハ株式会社 サウンドネットワーク事業部で現役でご活躍されている平野さんのお話。
お仕事でルーターを触る機会が全くないので、ヤマハルーターの現物を見たのも初めてだった私。
しかし、平野さんの「ものづくり」に対する姿勢、会社としての「ものづくり」への取り組み方に非常に感銘を受けました。
まさに、自分が「こういう風にものが作れたら素敵だな」と思っている世界そのものだったのです。
ユーザーが困っているということを誰にも言われずに解決するクォリティ
ユーザーの生の声や、問い合わせで「こういうことが困っている」という話をきいて、技術的な面から「こうすれば解決できるんじゃない?」と誰にも言われず提案し、そして製品にする。
「お客さんのためにものをつくる」ってまさにこういうことなんだなあ。
実際にお客さんの声が元で生まれた製品の例、技術者が「面白そうだったから」と作った機能をユーザーのニーズとマッチさせて製品の機能に追加した例など「お客様のお役に立てるものづくり」の実例をたくさんきけたことがとてもよかったです。すごくよい循環で製品が作られていっているなあと感じました。
使い方をどのようにお客様に説明していくか
「作って終わり」ではなく、「どうやったらお客さんによりよい方法で製品を使ってもらえるか」と考える。
「大工さんのかんなやのこぎりのように、料理人の包丁のように扱ってもらえたら嬉しい」という気持ちで製品開発に取り組む姿勢が素晴らしいなと思いました。
そのために、
- 製品ごとに利用者層(習熟度)を想定しそれに合わせた設定方法を用意する
- 利用者のスキルアップの方向性を考える
といった、長いスパンでお客さんのことを考えた製品開発をしていました。
ここまできちんと向き合ってものを作ったことがあったかなぁ…自分を省みたところ「作っておしまい」となる方が多いなあと反省。お客さんの声を聞く、声が聞ける距離にあるって大事だな。
本当は、みんな無責任なことはしたくない
- 作りっぱなしはしたくない
- 売りっぱなしはしたくない
- 使い捨てはしたくない
そう、本当にそう。
でも、なかなかうまくいかない。
だから、こう言い切ってきちんとものづくりに取り組んでいる姿勢は眩しくてうらやましかったです。
おやつ
今回はせきゅぽろと合同のイベントということもあり、いつものせきゅぽろと同じくお菓子がありました。
バババーン

他にもたくさんセッションがありました
今回はスタッフとして運営にも携わらせていただきました。
ですので他のセッションはきっちり聞けていなかった部分もあります。他のブログの感想を待ちたいです。
PacketBlackHoleとPacketKilling de KATANAのご紹介 まっちゃだいふくさん
まっちゃさんによる解析したパケットをゲームにしてしまった製品のお話。
「パケットを取れば丸わかり、何でも復元できちゃうんだよ」というのがほんとにおそろしいわぁ。。。
Rubykaigi2011ネットワークの秘密 小岩秀和さん
1000人規模のネットワーク構築と運用についてのお話。
インフラ系エンジニアの人が多いイベントだけに、実践的なこの話は質問がたくさん飛び交っていました。
LTSPでネットブートクライアントを遊ぶ ささきのぶゆきさん
LTSP(Linuxによるディスクレスクライアント)という言葉を初めて聞きました。
Thinクライアントがここまで進化してきているんだなあ。
教育現場やコールセンターなど確実にニーズのある技術ですね。
「遊ぶ」の主語が発表者のささきさんだった!というのにはやられました。
LT(ライトニングトーク)
今回は、SINさん、小岩さん、nazoさんの3名によるLTがありました。
私もこっそり「ゆるふわLT司会者」としてデビュー。
司会はゆるゆるでしたが、LT慣れした皆さんのそれぞれの個性あふれるとても楽しいLTでした。
このイベントで得た大きなものは、ものを作っている人達は、製品は違えど同じことを考えているのだなということに気がつけたこと。
参加してよかった。
そして1スタッフとして、参加された皆様もそれぞれに何か得るものがあり、楽しんでいただけていたらよいな、と思います。
皆様どうもありがとうございました!
懇親会も楽しかったよぉぉ
(久々に飲み過ぎて昨日ブログの記事を書けなかったことは内緒)
Apache再入門のセミナーに行ってきました
10月 28th
10/26(水)に開催された、Apache再入門 ~LOCALインフラ部 ナイトセミナー~を受講してきました。
受講理由は講師がすもけさんつまずいたまま止まっている自宅サーバーをなんとかしたかったから。
実際に参加したら「自宅サーバー」ではなく「本番稼働しているサーバー」と日々格闘している人達がたくさんでした。
基本的なことを確認できたので、行ってよかったです。
Apache再入門
「Apacheは基本スキルの1つです」という言葉から始まったセミナー。
特に以下の2つの話が自分の役にたちそうです。
- 最低限やるべき基本設定の確認
- 最低限やるべきセキュリティ設定の確認
基本設定は「確か設定したな・・・」という感じでした。
セキュリティ設定は「危ないと思って確か・・・設定した・・・と思う・・・」という感じです。
項目は全部ノートにメモしたので、早急に自分の設定を確認したいと思います。
確認したら、またブログに書く。
この他にパフォーマンスのお話もしてくれたけれど、自分は何も公開していない状態なので、パフォーマンスについて考えるのは、まだまだ先である。
インフラよろず相談
現場で働く人達からの質問に、現場で働く人達が答えるコーナー。
「どうやってスキルアップしていくか」はフィールドに関わらず、皆思うことなんだなと共感しました。
是非、第2回も開催してほしいです。
私のサーバーが安定稼働する日が近づくように、勉強したい。
Hokkaido.cap #7 に参加してきました
10月 26th
10/21(金)に行われた、パケットの中身を解析して学ぶ Hokkaido.cap #7に参加しました。
CTFの問題を自力で解くことができたことが一番嬉しかった!
ケーススタディ(セキュリティ解析:前編)
OSのフィンガープリント、ポートスキャン、プリンターの氾濫、FTPサーバーへの侵入という外部から攻撃を受けた場合のパケットがどのようになっているかについて勉強しました。
OSのフィンガープリント
フィンガープリントとは、TCP/IPの実装に関する特徴がOS毎に異なることを利用して、標的ホストのOSの種類を推測する手法のこと。
「Filter(ディスプレイフィルタ)」を使うことでパケットを絞込み、通常であればありえないICMPのtypeを表示させることで状況が把握しやすくなりました。
(ICMP type の0-12は普通に使用することがあるが、13以上は通常ありえないそうです)
ポートスキャン
外部に開放されているPortを調べるための手法。ポートスキャンされているときにどのようなパケットになるかを実際に見てみました。
ツールを使うとTCPもUDPもどのポートが空いているかすぐわかってしまうものなんだなあ。
プリンターの氾濫
ネットワークプリンタからおかしな物が印刷されているときに、パケットを解析することで原因を探ることができる、というケース。
明らかに特定のPCから異常な印刷命令が出ていることから、クライアントのPCがウィルスに感染しるのでは?という次の調査の行う手がかりを得ることができる。
FTPサーバーへの侵入
ディスプレイフィルタで「ftp.request.command」を使うと、FTPのコマンド名による絞り込みを行うことができました。
特定のコマンドに着目すると、PASSWARDを辞書攻撃していることがすぐにわかります。
CTFの問題にチャレンジ
はじめて自力で問題をクリアすることが出来ました記念。
次のような順番で考えました。
- まずは、パケットからExportできるオブジェクトが無いか確認する。
今回はzipファイルが2つ存在していたので、保存。 - zipファイルを解凍してみる。
1つは解凍でき、文字列のかかれたテキストファイルが出てきた。
もう一つは、PWが必要なzipファイル、上記テキストを入力しても解凍できない。 - ここで、パケットの解析に戻るとTelnetの通信があることに気がつく。
「Follow TCP Stream」でやり取りを確認する。 - base64のエンコード、デコードしている箇所がある
(あ、これ当たりじゃないかな) - さっきのテキストと同じ文字列をデコードしているよ!!!
(やったのか?) - デコードされた文字列で2つ目のzipファイル解凍成功。お宝写真をゲット
(ガッツポーズ)
LT
SINさんによる「癒し系ネットワーク機器をpingで起こす」。
登場したのは、自作したpingコマンド受信で起きる機械。
工作すごい!!!!!
細部のこだわり(寝るとか、寝起きの反応は少し遅いとか)が可愛らしかったです。
- MACアドレスの変更
プログラムした段階でMACアドレスを決めることができる - オフセット0でのMISCOMPAREエラー
ping で送られた物と違うものを返すようにしている(32byteの中身を書き換える)- プロトコルエラーになるよ
という、自分では絶対に得ることのできない発見を教えてもらいました。
次回は参加できない(旅行)のが残念だけど、ちょっとずつパケットが読めるようになってきたのは嬉しいです。
続けていきたい。
Hokkaido.cap #6 に参加してきました
10月 17th
パケットの中身を解析して学ぶ Hokkaido.cap #6。
今回は“SynAck Caputure Nite 2011” のサテライト勉強会でした。
二つのセッションをサテライトで聞きました。
永続的パケットキャプチャノススメ(ネットエージェント株式会社 杉浦隆幸さん)
普段「ネットワークのトラブル解析」として使用することの多いパケットキャプチャを日常的に利用してみたというお話。
自分がネットワークを介してアクセスした物をすべてあとから再現できるという究極のライフログ。
- 会社内で使ってみた
- 家で使ってみた
- スマートフォンでとってみた
という、様々な利用シーンの事例。
こんな使い方もできるのかー、と驚きました。
目に見えないけれど確実に情報をやり取りしているわけだから当たり前なのだけど
あんなことやこんなことまで全部パケットの世界ではお見通しである!
というのに純粋にびっくりしました。
DEFCON29 CTF 本戦 パケット解析(Ghetto(@ghetto2199)さん)
DEFCONという世界があるのを知ったのは昨年かその前くらい(せきゅぽろで知りました)。
スーパーハッカーの集まるすごいイベントです。
今回は、実際に大会(本戦)に参戦した人の生のお話が聞けました。
本当に、スーパーハッカーは実在するのですね・・・。
現場の空気感が伝わってきた面白いセッションでした。
技術的なところはほとんどついていけなかったのだけど、「エクスプロイトコード」という言葉の意味を覚えました。
そういえば、今回DEFCONが開催された時期に、その話題が朝日新聞に載っていたなあ。
(うろおぼえだけど、セキュリティ犯罪による打撃/被害が大きくなった現代の話や、悪いハッカーとそれに対して戦う正義のハッカーみたいな構図の話だった)
知らない世界を覗けた、良い時間でした。
スタッフのみなさまありがとうございました。
Hokkaido.cap #5 に参加してきました
8月 30th
パケットの中身を解析して学ぶ Hokkaido.cap #5に参加してきました。
今回は、嬉しいことがありました。5回目にしてやっと、勉強会についていけるようになりました。
ネットワークの遅延と戦う(後編)
ネットワークが遅延するケースのパケットを読み解きました。
以下について、どのようなパケットになるか・どうやって解析をするかを学びました。
- BitTorrentによる通信の占領
- PSHフラグ→受信バッファをスキップしている=処理が優先されている
- [Statistics] → [Conversations] で通信全体の傾向やノードごとの対話状況を見る
- DNSの通信名でノードの名前が解決できることがけっこうある
- Endpoints 機能で通信料の多いノードを特定できる
- ワームに感染して大量のスパムメールを送っている
- POPはテキストベースなので中身が見える
- Analyze -> Follow TCP Stream
- 怪しいファイル名を見つけたら検索してみる(有名なワームであれば出てくる)
- Gnutellaによる通信の占領
- [Statistics] → [Conversations]で怪しい通信を見つけたら成功している通信で手がかりをつかむ
- TCPタブ → 成功している通信(パケット量が多い)でフィルタをかける
初めて、パケットをさわりながら「あ、なんかここが怪しいぞ」と感じることができたのが大きな前進です。
しかし実際にネットワーク遅延にであった時は、実際のキャプチャデータでは似たようなパケットが大量に記録されているのでもっと嗅覚が必要そうです。
CTFにチャレンジ
パケット解析のCTFオリジナル問題にチャレンジ。
前回に比べてレベルをかなりさげてくれたのもあり、いいところまで自力で進めることができました。
(まあ、解けなかったんですけど)
パケットキャプチャ勉強会で、CTF問題にチャレンジすると毎回某すもけさんのレア画像をゲットできます!
少しずつパケットに慣れてきた。
会社から本も借りたし、次回もがんばりたいと思います。
Hokkaido.cap #4 に参加してきました
7月 24th
パケットキャプチャリングの勉強をするHokkaido.cap #4に参加してきました。
プログラムを書くようにパケットを扱うことは全然できないけれど
毎回1個は新しい発見をして帰ろうと思っています。
ネットワークの遅延を解析する
ネットワークの遅延に関連する以下4つのパケットを実際に解析しました。
- ダウンロードの遅延
- [Analyze] → [Expert Info]と [Expert Info Composite]
- [Statistics]→ [TCP Stream Graph] からいろいろなグラフが見れる
- 「1023番のパケットを探す」方法がわからず手動(あとで調べる)
- ルーティングの不具合
- tracerouteの結果が帰ってこない=ルーティングの不具合
- tracerouteコマンドを打ってみた
- 二重に見える
IPヘッダのIDが同じでTTLの値が違うときはルーティングの問題 - サーバーが私を拒否している?(実際にはflashのポップアップブロック)
おかしなパケットを[Analyze] → [Follow TCP Stream] で解析。
操作に慣れず、四苦八苦しましたが、自宅に帰ってからもう一回おさらいして把握できました。
パケット解析 CTF
あるパケットからヒントを見つけて答えを探すもの。
なんとなく、これが怪しいよなあ…というのは前回よりは気がつけた。
しかし、何をどうすればいいか方法が全く。。。
途中でヒントをいただき、こういうことができるのを知りました。
あるパケットをHTTPのObjectとしてExportすると、そのオブジェクトの中から送受信されたファイルを取得することができる
ここからさらにヒントを探して答えにたどり着くわけです。
難しいけど面白かった。
パケットキャプチャリングを知れば知るほど普段何気なく垂れ流しているインターネットの情報って簡単にわかってしまうのねぇ、怖いわ…と思うのでした。
VMwareのゲストOSにSSH接続できなかったのを解決したメモ
10月 14th
ServerMan@VPSを借りて、WPなどを導入したものの、個人的にやっているとはいえ、公開しているServerを直でいじくるのは嫌だったので、VMwareでゲストOSに開発環境を整えようとしたときに軽くはまったのでメモしておく。
実は既にVMwareにCentOSはインストールしてあった。ので、記憶の片隅では、ホストからゲストにSSHで接続して遊んでいたというのがあったので、何も考えずにTeraTermで接続してみたところダメだった。
とりあえず、ゲスト側で、ifconfigしたところ、IPアドレスは192.168.1.30、デフォルトGWが192.168.1.0だった。・・・・これたぶんデフォルトGWおかしいやーん!と思ったので、いちお確認したら、やっぱりおかしかった。
つうので、ゲストOSのデフォルトGWを変更
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
-------------------------------------------------------
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
#BROADCAST=192.168.1.255 ←コメントアウト
HWADDR=00:0C:29:CB:0A:99
IPADDR=192.168.0.30 ← RT側でLAN側の設定が192.168.0.0/255.255.255.0だったので変更
NETMASK=255.255.255.0
#NETWORK=192.168.1.0 ←コメントアウト
ONBOOT=yes
これでOK。

