Wireshark(10)-TCPストリーム表示-

TCPストリーム表示機能は、TCPの接続で送受信されたデータをまとめて確認できる機能です。

今回は、メールを送信した際のキャプチャファイルを用意しましたので、このパケットに対して、TCPストリーム機能を実行してみます。

Filterに「smtp」と入力して、smtpプロトコルのパケットのみの表示にします。

smtpのパケットを選択した後、右クリックメニューより、「Follow TCP Stream」を選択します。

メニューバーの[Analyze]-[Follow TCP Stream]からも実行できます。

実行すると、Follow TCP Streamのダイアログ画面が表示され、メールを送信した際の一連のパケットの流れが確認できます。

ASCIIやEBCDIC、HexDump、C Arrays、Rawで表示形式を切りかえる事ができます。

Rawを選択した状態で、名前を付けて保存を実行します。

拡張子を「.eml」にして保存して、メーラーで開くと、メールの中身が表示されます。

画像を添付してあれば、画像も表示されます。

セキュリティが弱いとメールの中身も簡単に見る事が可能です。

メールの中身を見られないようにする為には、SSL/TLSのような盗聴、改ざんから通信データを守る設定をしておく必要があります。

参考書籍

パケットキャプチャ無線LAN編 [ 竹下恵 ]

Wireshark(9)-Flow Graph機能-

ネットワーク上のパケットの流れを見るには、Flow Glaph機能が便利です。

Flow Glaph機能を使用すると、グラフ形式で通信の流れを見る事ができます。

メニューより[Statistics]-[Flow Graph]を選択します。

この時に、前回ご紹介したマーク機能で、表示するパケットを選んでおくと良いです。

Flow Graphのダイアログが表示されるので、Choose Packets欄から「Displayed packets」を選択します。

OKボタンを押して、Flow Graph機能を実行します。

すると、ネットワークの流れがグラフ形式で表示されます。

FlowGraphEdit

参考書籍

パケットキャプチャ無線LAN編 [ 竹下恵 ]

Wireshark(8)-パケットのマーク機能-

ネットワークに流れるパケットをキャプチャしていると、たくさんのパケットが流れている為、もう一度対象のパケットを見たい際に探すのが大変です。

このような時にはパケットのマーク機能を使用すると便利です。

マークをつけたいパケットを選択して、メニューバーの[Edit]-[Mark/Unmark Packet]を実行すると、選択したパケットがマークされます。

右クリックメニューからも[Mark/Unmark Packet]を実行できます。また、[Ctrl + M]のショートカットコマンドも用意されております。

マークしたパケットのみ表示したい場合は、Filterに「frame.marked==1」と入力します。

すると、先ほどマークしたパケットのみ表示されます。

マークしたパケットのみファイルとして保存する事も可能です。

メニューバーより[File]-[Export Specified Packets]で保存ダイアログを表示します。

Marked Packetsを有効にして、保存すると先ほどマークしたパケットのみのファイルを作成する事ができます。

参考書籍

パケットキャプチャ無線LAN編 [ 竹下恵 ]

Wireshark(7)-HTTPメッセージパケット-

HTTP(Hypertext Transfer Protocol)は、WEBブラウザ(クライアント側)とWEBサーバ(サーバ側)が通信して、WEBページを閲覧する時などに使用される通信プロトコルです。

HTTPメッセージパケットは、WEBブラウザ(クライアント側)とWEBサーバ(サーバ側)が通信する為のデータのかたまりです。

Wiresharkにて、Filter欄に「http」と入力すると、HTTPのプロトコルパケットを絞り込めます。

info列を見てみると、「GET / HTTP/1.1」と「HTTP/1.1 200 OK」を見つける事ができると思います。

「GET / HTTP/1.1」がHTTPリクエストメッセージとなります。

「HTTP/1.1 200 OK」がHTTPレスポンスメッセージとなります。

HTTPリクエストメッセージは、WEBブラウザからWEBサーバへ向けてWEBページのアドレスを指定して、ドキュメントを要求する為のパケットです。

HTTPリクエストメッセージの詳細を見ると、WEBページのアドレスなどを確認する事ができます。

HTTPレスポンスメッセージは、WEBサーバからWEBブラウザへ向けて、Webページのドキュメントを送信する為のパケットです。

HTTPレスポンスメッセージの詳細を見ると、WEBページのHTMLコードなどを確認する事ができます。

参考書籍

パケットキャプチャ無線LAN編 [ 竹下恵 ]

Wireshark(6)-TCP 3ウェイハンドシェイク-

TCP 3ウェイハンドシェイクは、TCPのコネクション(接続)を開始する時に行われます。

3ウェイハンドシェイクは3つのパケットから構成されています。

(a).54771 → 80 [SYN] Seq=0 Win=65535 Len=0 MSS=1460 WS=256 SACK_PERM=1
(b).80 → 54771 [SYN, ACK] Seq=0 Ack=1 Win=8190 Len=0 MSS=1360 WS=64
(c).54771 → 80 [ACK] Seq=1 Ack=1 Win=262144 Len=0

(a)でクライアントがサーバーに対してSYN=1(コネクションの接続要求)のセグメントを送信します。

(b)でサーバはSYN=1のセグメントを受け取り、通信準備をしてACK=1(コネクションの接続応答)とSYN=1(コネクションの接続要求)のセグメントをクライアントに返します。

(c)でクライアントはACK=1とSYN=1のセグメントを受け取り、通信準備をしてACK=1のセグメントをサーバに送信します。

参考書籍

パケットキャプチャ無線LAN編 [ 竹下恵 ]

Wireshark(5)-DNSパケット-

DNS(Domain Name Server)は、ホームページなどのアドレスをIPアドレスに変換する仕組みです。

DNSパケットは、ホームページなどのアドレスをIPアドレスに変換する為のデータのかたまりです。

WireSharkにて、キャプチャしたdnsパケットをみてましょう。

Filter欄にて、「dns」と入力して、パケット情報を絞り込みます。

info列を見てみると、「Standard query 0x1a2b A www.aaaaa.co.jp」と「Standard query response 0x1a2b A www.aaaaa.co.jp A 12.345.678.9」を見つける事ができます。

「Standard query 0x1a2b A www.aaaaa.co.jp」は、DNSクエリ要求パケット(DNSクエリ要求メッセージ)です。

「Standard query response 0x1a2b A www.aaaaa.co.jp A 12.345.678.9」は、DNSクエリ応答パケット(DNSクエリ応答メッセージ)です。

DNSクエリ要求パケットは、DNSサーバに向けて、WEBブラウザーに入力された「www.aaaaa.co.jp」というアドレスに対応したAレコードを検索するように問い合わせをしています。

DNSクエリ応答パケットは、DNSクエリ要求パケットの要求を受けて、DNSサーバーがPCに、「www.aaaaa.co.jp」に対応するAレコードの値として「12.345.678.9」というIPアドレスをか回答しています。

このように、WireSharkでDNSパケットを解析すると、ホームページなどのアドレスからIPアドレスがわかります。

Wireshark(4)-ARPパケット-

ARP(Address Resolution Protocol)は、IPからMACアドレスを調べる仕組みです。

ARPパケットは、IPからMACアドレスを調べるためのデータのかたまりです。

WireSharkにて、キャプチャしたパケットをみてましょう。

Filter欄にて、「arp」と入力すればある程度データを絞り込む事ができます。

info列を見てみると、「Who has 192.168.75.2? Tell 192.168.75.1」と「192.168.75.2 is at a1::b2:c3:e4:d5」を見つける事ができます。

「Who has 192.168.75.2? Tell 192.168.75.1」は、ARP要求パケット(ARP要求ブロードキャスト)です。

「192.168.75.2 is at a1::b2:c3:e4:d5」は、ARP応答パケット(ARP応答ユニキャスト)です。

ARP要求パケットは、LANカードやルーターなどに付与されているMACアドレスを調べる為に、同一セグメント内のLAN全体に送信されているパケットです。

ARP応答パケットは、ARP要求パケットが要求したIPに適合するPCやルーターがMACアドレスを回答する為のパケットです。

このように、WireSharkでARPパケットを解析すると、IPに紐づいたMACアドレスがわかります。

Wireshark(3)-有線LANと無線LAN-

WireShark有線LAN上無線LAN上で動作の違いがあるか比較してみました。

OSはLinuxです。市販の無線LANルーターを使用しています。

WireShark PC 有線LAN 他PC 無線LAN 他PC
有線LNA o x x
無線LAN o x o


WireSharkがインストールされているPCが有線LANの場合、WireSharkがインストールされているPC上のパケットは取得して解析されていますが、無線LANルーターに接続されている他のPCのパケットは、解析されていませんでした。

WireSharkがインストールされているPCが無線LANの場合、WireSharkがインストールされているPC上のパケットは取得して解析されていますが、無線LANルーターに有線LANを使用して接続している他のPCのパケットは、解析されませんでした。

しかし、無線LANに接続している他のPCのパケットは、解析されました。

ただ、有線LANに関しての設定も何か必要なのかもしれません。

無線LANのパケットを解析するのにも、設定は必要であったので。

設定は以下の内容になります。

(1).無線子機をモニターモードに変更

(2).WireShark上で、IEEE802.11項目の中のDecryption Keyの設定

(3).WireShark上で、Capture packets in monitor modeの有効化

無線LANルーターに無線LANで接続しているPCのパケットを解析する際は、無線LANルーターとそのPCが接続する際のパケットが必要です。