MOREパケットみえますかー2015.02.24どうも、CCS田中でございます。帰り道で鹿を見かけては「ふへい!」と運転の手をとられる日々でございます。あれはー、突っ込んでこられたらー、まじであかんよー。今回、今までと違うログの内容を取り扱います。(デデーン)どんなデータが流れているのか、楽しみですね。それでは、早速行ってみましょう。通信データの中身を見る普段、何気なくWebブラウザを利用して検索を行ったり、コミットを行ったりしておりますが、操作の裏には様々なパケットが流れております。様々な種類のデータが各機器に的確に割り当てられて、流れております。(ルータやスイッチングハブ等の話もありますが、今回は割愛)利用するだけでは特に意識せずとも良いのですが、通信プログラムを作成する上では、実際にどのようなデータを流れているかを知っておく事は必須になります。いざ、バグが発生したり通信がうまくいかない...となった際に、流れているデータが見れたら原因すぐに掴めそうですよね。受信時にデータがおかしくなってる事も見る事で把握する事が出来ます。そんな重要なパケットですが、こんな声が聞こえてきました。ネットワークに流れているデータ見るのって大変なんでしょう?」そんな事ございません。下記を実行してみましょう。tcpdumpログがサクサク流れ行く事が確認出来ると思います。内容をよく見てみると、IPアドレスや日時にプロトコルと表示されている事が確認出来ます。これが、現在PC上でやり取りが行われているパケットになります。これだけで、パケットを見る事が出来るようになりました。このままではデータの流れがはやすぎて内容がわかりにくいですね。そもそも、適当なログ垂れ流して通信を送受信してないんじゃないかとの疑惑もございます。それでは、本当にデータのやり取りが出来ているか確認してみましょう。lo0-iがキャプチャ先のインターフェイスの指定になります。lo0がループバック用のインターフェイスになりますので、基本的に何か特殊な事をしていない限り無駄なデータがやってこない想定です。127.0.0.1」を実行してみましょう。待ち受け状態のtcpdumpから出ましたか?そう。こんな感じにpingパケットの中身が見れちゃいます。64ICMPだらIPアドレスだらサイズだらなんだら...これで、本当にデータがやり取り出来ている事を確認とれました。他PCから送ってみるとアドレスの所が変わると思います。ping以外にも通信送ればキャプチャ可能なので、色々試してみましょう。送信先IPアドレス等、わかりやすい形式で出力される事を確認しました。表示されるのがヘッダ情報のみになります。加える事で、より詳細なパケット情報閲覧が可能になります。それでは、先程と同様にpingの詳細を閲覧してみましょう。pingを別途、localhostに送ってみて下さいきました、きました。一例ですが、こんなデータがとれると思います。4567パッと見たら何かわかりにくいですが、プロトコルに当てはめてしまえば、どんなデータかわかります。一部かいつまんでみていきましょう。127.0.0.1送信元のアドレスになりますねこれらの情報を最初に取得した情報と照らし合わせてみます。データの収集方法と、見方もこれで大丈夫かと思います。内容を少し発展させて、よく見るWebサイトの内容をチェックしてみましょう。画像情報等の余計な情報を省くために、w3mを利用してアクセスしたいと思います。初めに、tcpdumpを立ち上げておきますがポート番号を指定して起動しておきましょう。ポート番号」を追加する事で、キャプチャするポート番号指定が可能です。httpキャプチャの準備が整いました。続いて、w3mでWebページへアクセスを行ってみます。google.comw3mでWebページが表示された事を確認した後、tcpdumpの結果を見てみます。c}a:visited{coloどうでしょうか?ヘッダ部分はあqswでfrtgひゅjですが、0x0030あたりから見たことのある単語が出てきました。HTTP通信でWebページを取得するまでの一連の流れがコチラで確認が可能です。handshake等、実際に流れているデータを見る事でより理解も深まると思います。HTTP以外にも、他にも普段利用している通信内容見てみるのも面白いと思います。ログと化すいくつかパケット情報を見てきました。これをどうさばくべきか。一回ファイルに書き出してしまいましょう。~/tcpdump.logこれでしばらく放置すれば、パケットキャプチャしたログの出来上がりです。あとはこのデータを利用して、どのような通信が行われているのかの観察になります。最後にさて、ログと全然関係ない内容になってしまいました。本来はtcpdumpで収集したログを解析しようとしたんですが、長くなったので分割します。tcpdumpが手軽に利用出来ますが、もっとGUI上でバリバリ分析を行いたい場合、専用のツールございます。Wiresharkもしくはパケットキャプチャツールでの検索で出てきます。今後も少しづつ、ネットワーク関係の内容も入れていきたいと思います。(ログソフトウェアどこいったーい)採用情報クラウドクリエイティブスタジオでは絶賛エンジニア募集中でございます。