初心者のためのパケットキャプチャ実験 研修コースに参加してみた
今回参加した研修コースは 初心者のためのパケットキャプチャ実験 です。
タイトル通り、パケットキャプチャができるフリーソフトウェア Wireshark を使って、複雑な操作やコマンドも必要なくパケットを色々見れますので、後半は色々と自分が興味のあるものをキャプチャしてみました (私はPOPをみてみました) 。
各プロトコルヘッダに何が書かれているのか、新人研修などの知識では学びますが、実際に動いているキャプチャと中身を見ると、どのように通信しているのか、体感できました !
実験を通じてTCP/IPネットワークを体験しながら学べるので、もう一度復習したい方や、ビジネス・バックオフィスの方でもどのようにネットワークが繋がっているのか分かるので、とてもオススメです。
では、どのような内容だったのかレポートします !!
もくじ
コース情報
想定している受講者 |
|
受講目標 |
|
講師紹介
インフラ系ではおなじみ 岩木 慎一 さんが登壇されました。
昔はアプリケーションエンジニアはネットワークを気にする必要はなかったのですが、今やネットワークに繋がってないシステムはないので、実際に流れているパケットを見て、興味を持つキッカケになれば、という狙いをお話いただきました。
TCP/IPの基本
まずは流れているパケットを理解するために、どのようにネットワークが構成されているのか、サッと復習します。
TCP/IPの復習
- 大雑把にわけると4階層で、それぞれに対応するシステムが右
- ex. IPアドレスの設定をしようとするとインターネット層なのでOSで設定する
各層の役割
- 送信するときは上から、受信するときは下から
- TCP/IPプロトコルのほうが現場向け
- OSI参照モデルはちょっとアカデミック
- ただしネットワークエンジニア同士の会話ではだいたいOSIの層を指している
ヘッダ
各層で必要になるヘッダ (宅配便の送り状の項目のようななもの) が異なるので、それぞれの層でヘッダが加わるようにイメージすると良いとのお話でした。
ここからはパケットをキャプチャすると見られるヘッダ情報に書かれている内容を解説いただきました。
TCPヘッダ
- 宛先と送信先のポート番号が書かれている
- 80 (HTTP) とか 22 (SSH) とか
- コンピュータ同士が通信しているのではなくソフトウェア同士が通信している
- コンピュータ内で複数立ち上がっているソフトウェアのあて先を書いている
- ブラウザやメールなどで使っているプロトコルでポートを決めている
UDPヘッダ
- TCPと同じように見えるが、情報が少ないので速い。が、雑
- 速さが求められるときはUDPを使用する
- UDPはたまに失敗するので注意
- 確実に送信する必要がある場合はTCPを使う
IPヘッダ
- 送信元あて先のIPアドレスが書いてある
- バージョンは実はv4、v6以外にもある
- 7~9は使ったので次は10になるかも知れない
- フラグで分割してよいかどうか、終わりかどうかがわかるフラグメントオフセットでどこまで送ったかを把握
- TTL (Time to Leave) でネットワークの中で何秒間生きていて良いのかを決めていた
- いまは通過してよいルータの数を決めていて 0 になると消滅する
- TOS (Type of Service) は長らく使われてなかったんだけど、IP電話で使われるようになった
TTLについては岩木さんもおっしゃっていましたが、誰がこんなことを考えて実装したのでしょう。すごい仕組みです。
イーサネットヘッダ
- MACアドレスが書かれている
- ARPというプロトコルが使われている
- IPアドレスをブロードキャストして該当のマシンからMACアドレスを返している
arp -a
で試してみるとわかる
- DIXとIEEEの2種類あるけどDIXが主流
- DIXはDECという会社が作った
- ちなみにIEEEの仕様を採用している中にNetwareの製品があった
- はじめてベンダー資格を作ったのがNetware。それを真似してMCP (マイクロソフトの資格) ができた
改めて見てみると、本当によく出来た仕組みですね。数値の羅列から、どんどん人間にわかるようにしているので、さながらプログラミングのコンパイルのように見えてきました。
Wireshark を使ったパケット実験
ここからはお待ちかねのパケット実験です。岩木さんと一緒に Wireshark でパケットをいくつか見てみて、あとは自由に実験です。
Wireshark の起動画面
パケットキャプチャの様子
- 上から順番に リスト / ヘッダ情報 / パケットの中身を見ることができる
- パケットの中身は解析せずにそのまま表示される
- 暗号化されていないパスワードはここに表示される (!!)
ドキドキ。ECサイトで購入するとどうなるのか実験してみたいところです。
ARPパケットを見てみよう
まずは ping [IPアドレス]
を打って見てみます。
who has [IPアドレス]
でブロードキャストしているのが見える- ちなみにWiresharkではパケットが見ることができるだけでなく、到達確認ができる
ping
は届いたんだけど返せない状態なのか、送れていないのかがわかる
DNSパケットを見てみよう
dig [URL]
を打って DNS パケットを見てみます。
- イーサネットヘッダ/IPヘッダ/DNSヘッダ/TCPヘッダ/UDPヘッダ が見える
- 取得するパケットにフィルターを掛けて、自分が欲しいものだけ取得することもできる
;
以降は時間の許す限り、受講者の皆さんが自由にパケットの中身を見ていました。
私は実際にインターネットメールを起動して、POP や SMTP の状況を見ていましたが、とてもドキドキしながら、一方で安心も出来ました。完全に一般ユーザー目線ですが、TLS1.3 や HTTP/2 が広がれ~ !!
まとめ
このコースではパケット実験と銘打って、様々なパケットを見てみました。そのパケットを見てわかるように、前半でどんなものが書かれているのか、講義で学習しました。
紙上で学ぶのと、体験しながら学ぶのとでは、やはり全く興味の持ち方が変わるのだなぁ、と思った内容でした。
よく本を見る、メモを取る、体験する、教える、といったアクティビティで記憶が変わると言いますが、そうではなく、 「心が動く」 から記憶するんだよ、と教えて頂いた講師のお話を思い出しました。 (以来、メモのとり方が変わりました)
これをキッカケにもっと深掘りしよう、という興味が湧く内容なので、もともと興味を持っている方はもちろん、新人研修でつまんなかったなぁと思っている方も、あまりピンと来てない方には、とてもオススメです !!
(セキュリティ意識を向上させたい方が、関心の低い方に受講を薦めるといいかも知れませんね)
label SE カレッジの無料見学、資料請求などお問い合わせはこちらから!!
label SEカレッジを詳しく知りたいという方はこちらから !!
IT専門の定額制研修 月額28,000円 ~/ 1社 で IT研修 制度を導入できます。
年間 670 講座をほぼ毎日開催中!!
SEプラスにしかないコンテンツや、研修サービスの運営情報を発信しています。