##なぜ勉強しようと思ったか
ネットワークを流れてるパケットを傍受してみたかった。
ただの興味本位。
以下、ほぼ備忘録なので、参考にならないかと思いますが、悪しからず、、、。
##Wiresharkとは
パケットキャプチャを行うツール
###パケットキャプチャとは
パケットキャプチャとは、ネットワーク上で実際に流れるトラフィックのパケットを採取することです。
ネットワークエンジニアとして - Packet Capture
##インストール手順
以下を参照
Wiresharkの使い方
インストールしていると、WinPcapやUBSPcapをインストールするかという手順が出てきます。
WinPcapは必須として、UBSPcapも入れておきましょう。
###pcapとは
pcap (packet capture) とは、コンピュータネットワーク管理の分野におけるパケットスニファのためのAPIである。
Unix系のシステムではpcapはlibpcapとして実装されている。
WindowsではWinPcapというlibpcapを移植したものが使われている。
Wikipedia - pcap
##「表示フィルタ」と「キャプチャフィルタ」
フィルタにも種類があって、上記の2種類があるっぽい。
###表示フィルタ
- IPアドレス
- 送信元IP
ip.src==xxx.xxx.xxx.xxx
- 宛先IP
ip.dst==xxx.xxx.xxx.xxx
- 双方向(送信元/宛先どちらも)
ip.addr==xxx.xxx.xxx.xxx
- 送信元IP
- ポート番号
- TCP
tcp.port==xxx
- UDP
udp.port==xxx
- TCP
- プロトコル
xxxx(icmpなど)
###キャプチャフィルタ
- IPアドレス
- 送信元IP
ip src host xxx.xxx.xxx.xxx
- 宛先IP
ip dst host xxx.xxx.xxx.xxx
- 双方向(送信元/宛先どちらも)
host xxx.xxx.xxx.xxx
- 送信元IP
- ポート番号
- TCP
tcp port xxx
- UDP
udp port xxx
- TCP
- プロトコル
xxxx(icmpなど)
###ちょっと似てるけど、ちょっと似てない、それが可愛いフィルター機能
いや、可愛くない。
ドットとイコールくらいかな。
##パケット一覧の見方
以下を参照。
Wiresharkを使った解析
- ARP
- 接続されてるルータのMACアドレス取得
- (ARPは、IPアドレスからMACアドレスを引くためのプロトコル)
- DNSでルータに接続先のIPアドレス持ってるか聞く
- (DNSは、ドメイン名からIPアドレスを引くためのプロトコル。これが正引き。逆も出来る(=逆引き))
- TCP(接続確立)
- 3WAYハンドシェイクで、接続先との接続確立
- HTTP
- やっとデータ送るよ
- TCP(データ受信)
- 接続先からPDUを受け取る
- 一定数受け取ったら接続先にACKを返す
- これを繰り返していく
- TCP(接続終了)
- 接続先にFIN,ACKを送信
- 接続先からACKを受信
- 接続先からFIN,ACKを受信
- 接続先にACKを送信
- お互いに同じパケット送りあって終了を伝え合う、可愛い
他にもいろんな通信してるから見てみてね。
##パケット詳細部の見方
以下は、TCPの通信の場合の詳細部。
HTTPとかARPとかで違ってくるので、その辺は随時調べましょう。(「{プロトコル名} フレーム」で検索するといいかも)
- Frame
- サーっと調べたけど、イマイチ分からず、、、。
- 使い込んでて何か、見つけたら編集します
- ちなみに、一覧部の色がどういう理由でその色なのか、みたいな情報はここで見れる
- Ethernet II
- 物理ケーブルを流れてるパケットの情報
- 無線LANの場合は物理ではないけども
- 詳細
- Internet Protocol Version 4
- IPヘッダ情報
- 詳細
- Transmission Control Protocol
- TCPヘッダ情報
- 詳細
接続先のMACアドレスが取れれば、逆引きしてIPアドレスも取れるかもしれないし、
パケット内容が見れちゃったら、パスワードクラックだって(ダメです)