育成講座 情報セキュリティのキャリアを目指す 第 3 回ネットワーク実習 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 1
実習の準備 ワイヤレスネットワークへの接続 全員 (KIC の学生を含め ) 以下の Wifi に接続ください SSID: KIC_GUEST KEY: 2014okyakusamamuke WireShark 最新版 (v2.0.4, 64bit 版または 32bit 版 ) インストール 窓の杜 http://forest.watch.impress.co.jp/library/software/wireshark/ 本家サイト (Mac OS 用もあります ) https://www.wireshark.org/#download まだ立ち上げなくてもよいです セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 2
コマンド操作用の準備 Windows コマンドプロンプト (Windows) Windows ボタン と r キーを同時に押して cmd と打って [Enter] キーを押す Mac OS ターミナル (Mac) を出す 作業フォルダーを作る ファインダー で アプリケーションフォルダ 内の ユーティリティフォルダ にある ターミナル を使う セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 3
セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 4
ipconfig コマンド の実行 C: Users shima>ipconfig /all Windows IP 構成 ( 中略 ) Wireless LAN adapter Wi-Fi: 接続固有の DNS サフィックス.....: 説明.................: Intel(R) Dual Band Wireless-AC 8260 物理アドレス.............: 44-85-00-1E-8F-84 DHCP 有効..............: はい自動構成有効.............: はい IPv6 アドレス............: 2001:2f8:1025:ff11:e59c:f6ac:858e:cee2( 優先 ) 一時 IPv6 アドレス..........: 2001:2f8:1025:ff11:6536:7bc3:dc2a:d2c8( 優先 ) リンクローカル IPv6 アドレス.....: fe80::e59c:f6ac:858e:cee2%6( 優先 ) IPv4 アドレス............: 172.16.1.247( 優先 ) サブネットマスク..........: 255.255.0.0 リース取得..............: 2016 年 7 月 5 日 17:37:33 リースの有効期限...........: 2016 年 7 月 8 日 17:37:33 デフォルトゲートウェイ.......: fe80::2a0:deff:fe6c:fab5%6 172.16.0.1 DHCP サーバー............: 172.16.0.1 DHCPv6 IAID.............: 88376576 DHCPv6 クライアント DUID.......: 00-01-00-01-1E-B1-F4-98-CC-30-80-11-8C-53 DNS サーバー.............: 172.16.0.1 8.8.8.8 NetBIOS over TCP/IP.........: 有効 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 5
(1) ネットワークの情報を見てみよう Windows: ipconfig /all コマンド Mac OS: ifconfig a コマンド IPv4アドレス サブネットマスク デフォールトゲートウェイ (IPv4) DNSサーバー (IPv4) MAC( 物理 ) アドレス............ - - - - - セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 6
宅配便のネットワーク 営業所 コンビニ = ルーター (Router):Route( 経路 ) を決める人 最終目的地をもとに 次の目的地を決め 荷物の積み替えをする トラック 飛行機 = リンク 次の目的に荷物を届ける コンビニ ( ネットワーク ) セグメント ( ネットワーク ) セグメント router 空港 host host host host router host 営業所 ネットワークセグメント : 1 つのリンクがカバーする範囲 router router host host ( ネットワーク ) セグメント host host ( ネットワーク ) セグメント セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 7
インターネットプロトコル リンク層 : ネットワークセグメント内の通信 MACアドレスを使う ネットワーク層 : グローバルな通信 グローバルなアドレス (IPアドレス) を使う ルーターが複数のネットワークセグメントをつなげ 目的地まで届ける ( ネットワーク ) セグメント ( ネットワーク ) セグメント router host router host router router router host やってくれること指定したホストに IP パケット (Max 1500 byte) を届ける ( ネットワーク ) セグメント host ( ネットワーク ) セグメント host host host host host セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 8
IP アドレスとは IP ネットワークでのホスト ( ネットワークインターフェース ) 識別子 インターネット全体で一意なもの (= グローバルアドレス ) アドレスの構造 : IPv4 は 32 ビット長 8 ビット毎に区切って表記 (0.0.0.0 ~ 255.255.255.255) 数字ひとつが 8 ビット x 4 個 172. 16. 254. 3 10101100.00010000.11111110.00000011 1 バイト = 8 ビット 32 ビット (4 バイト ) セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 9
ネットワーク部とホスト部 IPアドレスを前後に分割して利用 前半がネットワーク部 ネットワーク毎に割り当てられるアドレス ( 組織毎など ) 後半がホスト部 ネットワーク内のホストに割り当てられるアドレス ネットマスク表現 ネットワーク部とホスト部の境目を表現 先頭からのビット長 172. 16. 254. 3 /24 10101100.00010000.11111110.00000011 ネットワーク部 ホスト部 ネットマスクとして 24 ビットを指定先頭から 24 ビットがネットワーク部 172.16.254.0 というネットワーク内で使える 172.16.254.1~172.16.254.255 というアドレス セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 10
リンク層アドレス MAC アドレス リンク層にて機器 ( インターフェイス ) を区別するアドレス 16 進数 12 桁 例 : 00-22-FA-AB-30-90 EUI-48 Ethernet の MAC アドレス体系 IEEE が規定 48 ビット長 世界中で一意なアドレス (224 = 約 1677 万 ) IEEE OUI and Company_id Assignments http://standards.ieee.org/regauth/oui/index.shtml OUI (Organizationally Unique Identifier) 24bit IEEE がネットワーク機器のメーカーに割り当てる部分 機器毎の ID ( 各メーカーが割り付け ) 24bit 各メーカーがネットワーク機器に割り当てる部分 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 11
Company id を調べてみよう IEEE OUI and Company_id Assignments http://standards.ieee.org/regauth/oui/index.shtml A4-17-31 (hex) Hon Hai Precision Ind. Co.,Ltd. A41731 (base 16) Hon Hai Precision Ind. Co.,Ltd. NO.1925,Nanle Road Songjiang Export Processing Zone Shanghai 201613 CHINA 3C-07-71 (hex) Sony Corporation 3C0771 (base 16) Sony Corporation 1-7-1 Konan Minato-ku Tokyo 108-0075 JAPAN セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 12
セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 13
ICMP ICMP(Internet Control Message Protocol) とは IP 通信の制御情報を通知する通信プロトコル IP 通信の制御結果を通知する ノードの応答確認 通信経路が見つからない 通信の誤り検知など IP 通信を用いて通知を伝送する ネットワーク層の通信プロトコル ICMPv4: IPv4 用のICMP RFC 792: INTERNET CONTROL MESSAGE PROTOCOL セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 14
ICMP メッセージ (IPv4) 0 - Echo Reply Message( エコー応答通知 ) 3 - Destination Unreachable Message( 宛先到達不可能通知 ) 4 - Source Quench Message( 送出抑制要求通知 ) 5 - Redirect Message( 経路変更要求通知 ) 8 - Echo Message( エコー要求通知 ) 9 - Router Advertisement Message( ルーター広告通知 ) 10 - Router Solicitation Message( ルーター請願通知 ) 11 - Time Exceeded Message( 時間切れ通知 ) 12 - Parameter Problem Message( 不正引数通知 ) 13 - Timestamp Message( タイムスタンプ要求通知 ) 14 - Timestamp Reply Message( タイムスタンプ応答通知 ) 15 - Information Request Message( 情報要求通知 ) 16 - Information Reply Message( 情報応答通知 ) 17 - Address Mask Request Message( アドレスマスク要求通知 ) 18 - Address Mask Reply Message( アドレスマスク応答通知 ) セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 15
Echo メッセージ Echo Request/Reply メッセージの送受信 送信元 ~ 送信先間での通信可能性の確認 (= 中継や送信先が異常だと返事がない ) リンクやインターフェイス不備を伝える IP 送信元, 送信先 ICMP Echo Request 送信元 送信先 IP 送信元, 送信先 ICMP Echo Reply セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 16
ping ping コマンド実行結果 宛先ホストの応答確認 ( 生存確認 ) ICMP Echo メッセージを送受信 >ping www.yahoo.co.jp Pinging www.ya.gl.yahoo.co.jp [203.216.235.201] with 32 bytes of data: Reply from 203.216.235.201: bytes=32 time=11ms TTL=51 Reply from 203.216.235.201: bytes=32 time=12ms TTL=51 Reply from 203.216.235.201: bytes=32 time=11ms TTL=51 Reply from 203.216.235.201: bytes=32 time=11ms TTL=51 Ping statistics for 203.216.235.201: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 11ms, Maximum = 12ms, Average = 11ms セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 17
セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 18
Wireshark を起動する Wireshark 起動画面 Wi-Fi をダブルクリック セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 19
Wireshark の画面 キャプチャ開始 キャプチャ中止 取り込んだパケットのリスト 選択したパケットの内容 ( 意味 ) 選択したパケットの内容 ( データ ) セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 20
Wireshark で ping パケットを取り込んでみる Wireshark でパケット取り込みを中止しておく コマンドプロンプト (Terminal) の画面も用意しておく Wireshark でパケット取り込み開始 前回取り込んだデータを保存するか聞かれるので 保存しないで続ける を選ぶ コマンドプロンプト (Terminal) で ping コマンドを打つ ping 172.16.0.1[Enter] Ping が終わったら Wireshark でパケット取り込みを中止 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 21
取り込まれた ping パケットを見てみよう フィルターのところに icmp と [Enter] を打ち込む緑色になれば OK 参考ルーターの MAC アドレス 00-a0-de-6c-fa-b5 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 22
セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 23
データの入れ子構造 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 24
リンク層フレーム リンク層におけるデータ表現 リンク層のパケットを フレーム と呼ぶ フレームの構成 フレームはヘッダとペイロードから構成 ヘッダに制御情報 ペイロードに上位層データ 制御情報としてレイヤ 2 アドレスなど イーサネットフレーム (DIX 規格 ) 宛先アドレス 送信元アドレス タイプ ペイロード (46~1500 バイト ) エラー検出 All 1ならブロードキャスト ヘッダ セキュリティのキャリアを目指すーネットワーク基礎 2016#3 ペイロードに IP パケットが格納される Hisato Shima (shima@kic.ac.jp) 2016/7/6 25
イーサネットフレーム 宛先アドレス 送信元アドレス タイプ ペイロード (46~1500 バイト ) エラー検出 選択 参考ルーターの MAC アドレス 00-a0-de-6c-fa-b5 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 26
IP パケット フレーム : リンク層での処理単位 その中にパケットを含む IPパケットを包んでリンク層アドレスを付けたもの IPパケット : ネットワーク層での処理単位 パケット=Packet : 小包 ペイロード ( 荷物 ) を包んでIPアドレスを付けたもの IPヘッダ : IPパケットの処理情報 IPペイロード : 伝送中のデータ イーサネットフレーム (DIX 規格 ) IP パケット 北海道室蘭市 宛先アドレス 送信元アドレス タイプ IP ヘッダ ペイロード (46~1500バイト) IP ペイロード エラー検出 ペイロードにIPパケットが格納されるヘッダ セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 27
IP ヘッダ Version バージョン Time to Live 生存時間 IHL ヘッダ長 Identification 識別子 Option オプション Type of Service サービスタイプ Protocol プロトコル Flags フラグ Source Address 送信元 IP アドレス Destination Address 宛先 IP アドレス Total Length パケット長 Fragment Offset フラグメントオフセット Header checksum ヘッダーチェックサム Padding パディング 選択 参考ルーターの MAC アドレス 00-a0-de-6c-fa-b5 ルーターの IP アドレス 172.16.0.1(AC.10.00.01) 自分の機器の IP アドレス 172.16.*.*(AC.10.*.*) セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 28
同一ネット内の機器への通信 172.16.254.3/24 から 172.16.254.131/24 に IP パケットを送る 自分のネットワーク部のアドレス (172.16.254.*) が相手先の IP アドレスと一致 同じネットワークセグメントの中にある 相手の機器 (172.16.254.131) に直接送る 差出人 172.16.254.3 172.16.254.131 宛先 ルーター 172.16.254.1 172.16.255.3 ルーター 172.16.252.5 172.16.252.3 172.16.255.5 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 29
セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 30
ARP ARP(Address Resolution Protocol) とは アドレス解決プロトコル IPアドレスに対応するMACアドレスを調査する ノード A ノード B ノード C 送信元 MACアドレス (A) IPアドレス (A) 送信先 MACアドレス ( 空 ) IPアドレス (B) 2 自 IP アドレス宛を検知して返信 送信元 送信先 2 自 IP アドレスでないので無視 MAC アドレス (B) IP アドレス (B) MAC アドレス (A) IP アドレス (A) 1Ethernet に広報 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 31
ARP の実演 ボランティア X の人の IP アドレスを聞く arp a コマンドで arp テーブルを見ておく Wireshark を起動 X の IP アドレスに Ping コマンドを実行 X の MAC アドレスを調べるために ARP パケットが投げられる わかったアドレスに ping コマンドが投げられる Wireshark で取り込んだパケットを見てみる arp a コマンドで arp テーブルがどうなったか見てみる IP アドレス : 192.168.0.194 MAC アドレス : A4-17-31-E4-5A-07 教員 PC IP アドレス : 192.168.0.110 (MAC アドレス : MAC-B) X さん PC セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 32
arp テーブルの例 arp -a コマンドを実行 (Windows の場合コマンドプロンプト Mac の場合ターミナルで実行 ) マシン上の arp テーブルを閲覧するコマンド IP アドレスと MAC アドレスの組を確認できる C: >arp -a Interface: 163.221.52.177 --- 0x2 Internet Address Physical Address Type 163.221.52.1 00-12-f2-a9-29-00 dynamic 163.221.52.80 00-07-e9-15-2e-ce dynamic 163.221.52.161 00-a0-b0-a3-57-7e dynamic セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 33
Wireshark で arp パケットを取り込んでみる Wireshark でパケット取り込みを中止しておく コマンドプロンプト (Terminal) の画面も用意しておく Wireshark でパケット取り込み開始 前回取り込んだデータを保存するか聞かれるので 保存しないで続ける を選ぶ コマンドプロンプト (Terminal) で ping コマンドを打つ ping... ( アドレスは授業中に指示します ) Ping が終わったら Wireshark でパケット取り込みを中止 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 34
ARP ARP セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 35
セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 36
Wireshark で ping パケットを取り込んでみる -2 Wireshark でパケット取り込みを中止しておく コマンドプロンプト (Terminal) の画面も用意しておく Wireshark でパケット取り込み開始 前回取り込んだデータを保存するか聞かれるので 保存しないで続ける を選ぶ コマンドプロンプト (Terminal) で ping コマンドを打つ ping 54.187.2.254 [Enter] Ping が終わったら Wireshark でパケット取り込みを中止 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 37
取り込まれた ping パケットを見てみよう -2 フィルターのところに icmp と [Enter] を打ち込む緑色になれば OK 参考ルーターの MAC アドレス 00-a0-de-6c-fa-b5 宛先の IP アドレス 54.187.2.254(36.BB.02.FE) 自分の機器の IP アドレス 172.16.*.*(AC.10.*.*) セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 38
インターネットプロトコル リンク層 : ネットワークセグメント内の通信 MACアドレスを使う ネットワーク層 : グローバルな通信 グローバルなアドレス (IPアドレス) を使う ルーターが複数のネットワークセグメントをつなげ 目的地まで届ける ( ネットワーク ) セグメント ( ネットワーク ) セグメント router host router host router router router host やってくれること指定したホストに IP パケット (Max 1500 byte) を届ける ( ネットワーク ) セグメント host ( ネットワーク ) セグメント host host host host host セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 39
途中のルーターの表示 tracert(windows) traceroute(mac, Linux) コマンド C: Users shima>tracert 8.8.8.8 google-public-dns-a.google.com [8.8.8.8] へのルートをトレースしています経由するホップ数は最大 30 です : 1 2 ms 2 ms 1 ms 172.16.0.1 2 3 ms 3 ms 2 ms hyogo-rm-ge-0-1-0-0.s5.sinet.ad.jp [150.99.194.217] 3 3 ms 3 ms 5 ms osaka-gm-et-5-1-0-130.s5.sinet.ad.jp [150.99.79.105] 4 5 ms 5 ms 3 ms 210.173.178.56 5 7 ms 7 ms 6 ms 209.85.241.67 6 4 ms 4 ms 4 ms 216.239.63.193 7 4 ms 4 ms 4 ms google-public-dns-a.google.com [8.8.8.8] トレースを完了しました セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 40
セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 41
Wireshark で Web サイトへとの通信を見る Wireshark でパケット取り込みを中止しておく ブラウザーを立ち上げる ( ほかのタブは閉じておく ) Wireshark でパケット取り込み開始 前回取り込んだデータを保存するか聞かれるので 保存しないで続ける を選ぶ ブラウザーで http://test.dlna.jp にアクセス ページが表示されたら Wireshark でパケット取り込みを中止 やり直すときは Shift キーを押しながらリロードボタンを押してください セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 42
Web サーバーとの通信のパケットを見て みよう フィルターのところに ip.addr == test.dlna.jp と [enter] を打ち込む緑色になれば OK うまくいかないときは表示 名前解決 ネットワークアドレスをチェックする セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 43
TCP でやり取りしたデータを見る 一番最初の [SYN] と出ている行を探す [ 分析 Analyze] メニューのなかの [ 追跡 Follow] の [TCP ストリーム Stream] を選択 この画面では TCP でやり取りしたデータが表示される (IP ヘッダーや TCP ヘッダーを除いた正味のデータ ) セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 44
グラフにして表示 [ 統計 Statistic] メニューのなかの [ フローグラフ Flow Graph..] を選択 [ 表示 Choose Packet] を [ 表示されたパケット Displayed packet に セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 45
TCP のセッション確立と切断 セッション確立 :3-Way Handshake SYN: 接続要求の送信 SYN/ACK: 確認と要求の送信 ACK: 確認の送信 client server セッション切断 FIN: 切断要求 ACK 受信で切断 双方向で切断 Client/Server 切断したい FIN Client/Server 接続したい SYN 切断 ACK 切断したい SYN/ACK FIN ACK 接続 OK ACK 接続 切断 セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 46
TCP のデータ送信と再送制御 (1) TCP のデータ送信 送りたいデータを分割して IP パケットに入れて送信 一つの IP パケットには約 1500 バイトしか入らない ACK で受信を確認 送りたいデータ A B C D データ送信側 DATA ACK DATA ACK データ受信側 A B DATA C ACK セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 47
ほかのページも見てみよう http://test.dlna.jp/long.html http://test.dlna.jp/image.html セキュリティのキャリアを目指すーネットワーク基礎 2016#3 Hisato Shima (shima@kic.ac.jp) 2016/7/6 48