「勉強会に行ってみた!」第6回「ネットワークパケットを読む会(仮)」
event

「勉強会に行ってみた!」第6回
「ネットワークパケットを読む会(仮)」

2014.09.18

ent61_img01.jpg

このところよく開かれるIT勉強会。スキルアップのためには行った方がいいのかなと思いつつも、どんな雰囲気なのか分からなくて二の足を踏んでいるという人はいませんか? この記事は、実際に勉強会にお邪魔して「こんな雰囲気でしたよ!」と紹介するのが目的です。こんな感じなら行ってみようかな、みたいに思ってもらえたらうれしいです。(三土たつお

ent61_img02.jpg

今回お邪魔したのは、「第20回ネットワークパケットを読む会(仮)」です。ネットワークについての勉強会ですね。この記事では今までプログラム言語の勉強会を取り上げることが多かったので、ネットワークだとどんな雰囲気なのかな?とわくわくしながら向かいました。

会場は東京・京橋にある京橋プラザ区民館というところでした。

公民館です。前回のPerl勉強会もそうだったんですが、公民館が会場っていうのは意外に多いのかもしれないですね。

ent61_img03.jpg

中に入ってみるとこんな感じ。公民館ですね。地元の婦人会とかが隣で寄り合いをやっててもおかしくなさそうな雰囲気です。参加費は300円でした。たぶん会場代の実費分だけだと思います。

ent61_img04.jpg

主催の村地(@hebikuzure)さんは、もともと仕事でネットワークのパケットの解析をやっていて、ネットワーク周りが好きだったんですが、部署が変わってしまったので個人的に勉強会を始めたんだそうです。すごい動機ですね。

「互いに敬意を持って接しましょう」「ブログやツイッターには基本的に自由に投稿して構いません」といった説明の後、それぞれの発表が始まりました。最初は @furandon_pig さんによる「tcpdumpの16進ダンプからはじめるネットワークパケット解析入門」です。

じつは最初がこの入門的な内容だったのでちょっとほっとしました。ネットワークエンジニアじゃないと分からないようなもっとゴリゴリに深くて難しい話題ばかりだったらどうしようと思ってたんですが、tcpdumpならたまに使うし、入門ならなんとかついていけそうです。

ent61_img05.jpg

この発表での個人的な山場はここでした。パケットの解析用に用意した「テストマシンネットワーク」上に、
二つのテストマシン「host01」と「host02」を用意したのですが、名前がどうも味気ないと。

ent61_img06.jpg

そこで「テストマシンネットワーク」を「TM Network」に変更し、ホスト名は「get」と「wild」にそれぞれ設定したとのこと! ここは盛り上がりました。ぜったいこの人と友達になれると思いました。(分からない方のために説明すると、「TM Network」は日本のバンド名で「Get Wild」はその代表曲です。)

ent61_img07.jpg

そして get から wild に向かって ping を打ち、tcpdump でキャプチャしてその中身を見てみます。

ent61_img08.jpg

その結果がこれ! 一見するとわけ分かんないんですが、よく見ると、

ここが「0806」だから「ARP」、続くARPヘッダにあるオペレーションが「0001」だから「要求」、つまり「ARP要求」だ!ということが分かってしまうんです。これだけ書くと「変人か!」と思うかもしれないけど、ここに至るまでにイーサネットヘッダやARPヘッダの見方なんかを順に説明しているので、その場で聞いているとすごく納得でした。なお、発表資料は次のURLにアップされています。

http://furandon_pig.bitbucket.org/
study/pakeana/20140828/mgp00001.html

ent61_img09.jpg

ちなみに会場の雰囲気はこんな感じです。ほとんどの人がノートパソコンを持参して、ツイッターのハッシュタグ(#pakeana)を追ったり、メモを取ったりしていました。最初に村地さんがとったアンケートでは、初参加の人が3割、ネットワーク関係の仕事をしてる人は割合少なくて2割くらい、IT関係が3割、学生が3割といった感じでした。学生が多い!いまの学生はほんと偉いですね。

ent61_img10.jpg

次の発表は、まさに学生まっただなか、大学院生の @takahoyoさんによる「hpingで作るパケット」です。

hping とは、さまざまなパケットを ping みたいなインターフェースで自由に送れるツールとのことで、まさに「Hentai な Ping です!」とのこと。

ent61_img11.jpg

実際にそういう語源かはともかく、確かに覚えやすいですね・・。パケットの中身をいろいろいじることができるので、送信元のIPアドレスを偽装したり、SYNやRSTパケットばっかりを送った場合の検証、TCP/IPの勉強なんかに使えるようです。決して悪用してはいけませんよ!

ent61_img12.jpg

その他、--faster や ?flood というオプションを使うと、帯域が埋まるくらいの勢いで連続してパケットを飛ばしまくるので、「自分で管理するテスト用ネットワーク内であってもあまり使わないほうがいいし、もちろん外のネットワークに対しては絶対に使ってはいけない」とのことでした。絶対使っちゃいけないのに用意してあるという意味では「天空の城ラピュタ」における「バルス」的なものを感じますね。

その他の発表としては「512K問題をビッグデータ解析した先にあるもの」「Fiddlerつかってる?」「QUIC」「Fiddler Add-on」など、本当に盛りだくさんでした。

512K問題はBGPルータのメモリがあふれる問題、Fiddlerはパケットの解析や改変した送信ができるプロキシー、QUICはGoogleが提唱している高速プロトコル、ということで話題もさまざまです。「QUIC」の発表では、発表者の @solomo83 さんの持参したパソコンが会場のプロジェクタとうまく接続できず、Google Docs に上がっている資料を各自のノートパソコンで直接見てもらいながら説明するという斬新なスタイルとなっていました。

ent61_img13.jpg

QUICの発表風景。スクリーンには何も映ってません。

ちなみにその資料を含め、今回の勉強会の資料がいくつかアップされてしましたので紹介します。

QUIC
https://docs.google.com/presentation/d/
1FMi9KCmF_1XXUTe8YVM6J5dR2FxWWlflg
_AasWMopdg/edit#slide=id.p

hping で作るパケット
http://www.slideshare.net/takahoyo/hping

発表の内容としてはどれも題材を初歩から説明していて、「これは当然知ってるよね?」みたいにみんなを置いておくことがないので、とても安心できました。たとえば「512K問題~」であれば、それがどんな問題なのか、BGPルータとはなんなのかといったことを順に説明していたので、その後の展開にもすんなり入って行くことができました。

回数を重ねた勉強会って、内容がどんどん高レベルになっていって、初めての自分が入る余地がないんじゃないかな?と思ってしまうこともあるんですが、決してそんなことはなく、むしろ自分の知らないこんなツールがあるんだ、こんな問題があるんだということを知るきっかけになるんだなと思いました。

ent61_img14.jpg

最後に、主催の村地さんにネットワークを勉強するコツを聞いてみました。

??どうやって勉強したらいいでしょう?

「やっぱり自分で手を動かすことですね。本を読むだけじゃなくて、自分でパケット解析をして、本に書いてあるとおりにやってみる。そうするとなんとなく身についてきます。」

TCP/IP入門みたいな本を読むとその場では分かったような気分になるんですが、自分でちゃんと実験して納得することで身について行くということなんだろうと思いました。


今回参加した勉強会:
第20回「ネットワークパケットを読む会(仮)」
https://atnd.org/events/54939

三土たつお。1976年生まれ。プログラマー、ライター。プログラマーとしてはふだんPHPを書いてます。
ライターとしてはニフティのデイリーポータルZとかで書いてます。
http://mitsuchi.net/

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW