#前置き
CpawCTFをlevel1を解き進める上で、ネットワークに関する知識が無さすぎることに気づきました。というわけでネットワークを少し勉強してきました。
ほんの少しです。
※初回:https://qiita.com/Yuzunosuke/items/630c65001b5117fef0f0
#今回の問題
さて、まずはpcapファイルを素直に実行してみます。
が、実行できません。
ネットワークのパケットが保存されているpcap(packet capture)ファイルを開くにはWiresharkというソフトを使うのが一般的のようです。ネットワーク解析が無料に行えるツールとのことです。初めて触ります。
##Wiresharkのダウンロード
https://qiita.com/isaoshimizu/items/da3e74d5a8e9b1d6b6a4
こちらの記事を参考にさせていただきました。
###pcapファイルに変化が・・・
Wiresharkをダウンロードしたところ、ファイルのサムネイル?が下のようになりました。
shark感が出て来ました。
そのままクリックすると開けそうなのでクリックしてみました。
##pcapファイルの中身とは
いや、さっぱり。
(flagは隠しています)
##パケットの中の情報は・・・
一番上の欄にパケットが一覧となって並んでいるようです。
書いてある情報は送信元アドレス、宛先アドレス、プロトコル、バイト数、ちょっとした説明となっているようです。
プロトコル・・・?
言葉は聞いたことがありますが、実際にどんなものかは説明できません。これを機に説明できるようになりたいものです。
##プロトコルとは
プロトコル(Protocol)とは、議定書・協定のような意味を持っています。
ネットワークにおけるプロトコルも例に漏れず、
どのようなタイミングで
どのような情報を伝達し
その情報によってどのような動作をするか
ということを取り決めた、通信における協定(約束)とのことです。
1つのwebページを閲覧するだけでも様々な通信が行われており、その度に様々なプロトコルが使用されています。
###TCP/IP
現在もっとも使われているプロトコルがTCP/IPと呼ばれるものです。これはTCPとIPという2つのプロトコルを指している訳ではなく、それらを含めた様々なプロトコルの集合とした体系を表しています。
###WEBページを見る際の通信の流れを見てみる
表示させたいWEBページのアドレスを入力してから、実際にその画面が表示されるまで、数段階に及ぶプロトコルを経て通信が行われています。
WEBページのアドレスを入力すると・・・
HTTPプロトコルに準じて、必要な情報とプラスアルファの情報を作成する
↓
TCPプロトコルに準じて、受け取った情報にさらに情報を付け加える
これがセグメントと呼ばれる塊になる
↓
IPプロトコルに準じて、セグメントにさらに情報を付け加える
これがパケットと呼ばれる塊になる
↓
パケットにさらに情報を足し、Ethernetを介して送信
といったイメージでしょうか。
WEBサーバー側はこれと逆の操作が行われるようです。
普段インターネットを利用する際、見えない上に考えない領域のためなかなかイメージしにくいです。
・・・。
Ethernet?
##Ethernetとは
イーサネットと発音するとのことですが、詳細は今まで知りませんでした。
名前は聞いたことがあるのですが・・・
調べてみると、Ethernetとは通信を実現させるハードウェア的仕組みのことらしいです。
TCP/IPが用意した情報を実際に送信させるハードウェアのこと、という認識であっているのでしょうか・・・
###Ethernetはローカル限定
Ethernetは**LAN(Local Area Network)**で使用されている技術とのことです。つまりEthernetを利用して直接通信ができるのは、同じローカルのネットワークを共有しているデバイスに限る、ということになります。
そのため、異なるネットワーク環境のデバイスと通信するにはそのネットワーク同士を繋げる何かが必要になります。
そのデバイスがルータです。
Ethernetを介して同じネットワーク内のルータにパケットを送信。
そしてそのルータから別のネットワーク内のルータにパケットを送信することで別のネットワークに情報を送ることができる、という仕組みになっているようです。
#はじめてのネットワーク
今回、初めてネットワークに関して調べました。
聞いたことはあるけど意味はよくわかっていない言葉のオンパレードで、まだ深くは理解できていません。しかし、浅くですが少しわかったような気もします。
これからCpawCTFを進めていく上でもう少し深いところに触れることができればと考えています。
###参考
http://www.yuuki-liberty.com/entry/2016/03/04/231837
http://www.infraexpert.com/study/networking2.html
http://ascii.jp/elem/000/000/424/424788/