Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Wireshark&パケット解析入門@ハンズオン@サポーターズCoLab用資料
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Azunyan
August 02, 2019
Technology
600
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Wireshark&パケット解析入門@ハンズオン@サポーターズCoLab用資料
サポーターズで行なった勉強会の資料です
https://supporterzcolab.com/event/904/
Azunyan
August 02, 2019
More Decks by Azunyan
See All by Azunyan
パケット解析入門-勉強会資料
azunyan1111
6
2.6k
Other Decks in Technology
See All in Technology
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
120
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
290
Codex概要
ymiya55
0
390
大阪オフィスに Unitree Go2 がやってきたので Physical AI やってみた
dafujii
0
300
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
120
Meet AgentCore Identity Consent Portal
hironobuiga
3
190
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
770
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
210
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.1k
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
140
ミイダス株式会社 テックチームのご紹介 / MIIDAS Tech Team
miidas
0
150
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Docker and Python
trallard
47
4.2k
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
Product Roadmaps are Hard
iamctodd
55
13k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
510
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Building Adaptive Systems
keathley
44
3.2k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Transcript
Wireshark&パケット解析⼊⾨ ハンズオン Azunyan1111
講義情報 • 使うツール • Wireshark • https://goo.gl/yRwKp1 • 講義で使うパケットファイルもあります •
https://ux.nu/EkoPN • 講義資料はアップロード予定
ツイッター実況OK!(たぶん) • ハッシュタグ #spzcolab をつけてツイートしよう!
もくじ(時間が許す限り最後までやる) • 本⽇のみんなの⽬標発表 • 軽く⾃⼰紹介 • 注意事項 • パケット解析に必要な最低限の知識 •
Wiresharkの紹介&インストール! • Wiresharkを使ってパケットを⾒てみよう! • 実践!パケットファイルからパスワードを抜いてみよう! • 質問orこれやってくれ
本⽇のみんなの⽬標 パケット解析完全に理解した とツイートする
本⽇のみんなの⽬標 パケット解析完全に理解した とツイートする ↓ パケット解析⼊⾨完全に理解した と⾔えるレベルになろう!
⾃⼰紹介 • 名前:Azunyan1111 • ツイッター:@Azunyan1111_ ←アンダーバー1つに注意 • 職種:サーバーサイドエンジニア • ⼤学:恵⽐寿にあるゲーム会社
• ⾔語:Go • 趣味:Webセキュリティ • 研究してた:Tor(匿名化ブラウザの奴) • セキュリティキャンプ2019福岡 チューター(講師補助) • セキュリティキャンプ2018全国⼤会 参加 • セキュリティキャンプ2018⼭梨 参加 • セキュリティキャンプ2016福岡 参加
注意事項 わからない単語が出てきたらすぐに調べるのを推奨 間違ってる知識があるかもしれないので違うっぽかったら指摘し てください →調べてもわからなかったら 講義のあとに質問タイムも⽤意しているのでそこでもOK
パケット解析に必要な最低限の知識
パケット解析に必要な最低限の知識 • パケットとは • TCP/IP • MACアドレス • OSI参照モデル
パケットとは • 情報伝送の⼀単位。伝送・交換に必要な情報を付したもの。 • Wikipediaより • 以下おっさんがJKに可愛いって情報を送ってる図 To:JK 君可愛いね♪ 君可愛いね♪という情報が⼊ってるパケット
From:おっさん 君可愛いね♪
補⾜情報 • パケットは必ずしも⼀つではない。 • パケットの最⼤サイズは1500byte(任意に変更可能) • もし1024KB(約1MB)のデータを送る場合1500byteでは⾜りないので複数 のパケットに分割して送る • 単純計算で
• 1,048,576byte/1500byte = 約700パケットを送る必要がある • 実際はIPアドレスやMACアドレス等の接続情報が加わるのでもっと多い • 解析する時はツールが良い感じにつなげてくれるので700個もパケット⾒ る必要は無い
TCP/IP • ⼀般的に広く使われているプロトコル群 • TCPとIPv4を使って通信をする⽅法 • IP • パソコン1台に割り当てられるIPアドレスを元にルーターがリレーをし て相⼿に到達する
• TCP • 3way ハンドシェイクでコネクションを確⽴して通信を⾏う • パケットは必ずしも相⼿に到達するとは限らない。 • なので再送信とかする必要がある。そういうのをやってくれる奴
TCP/IP • IPにはローカルIPとグローバルIPが現代では普及している • DHCPとかで調べると各種の違いが分かる • ルーカルIPとはルーターのLAN内での擬似的なIPアドレス的な感じ • 192.168.~.~が⼤体ローカルIPアドレス。 •
グローバルIPアドレスはLANの代表となるIPアドレスみたいな感じ 192.168.1.2 150.43.0.0 133.5.0.0 192.168.1.2 その他のルーター (インターネット)
MACアドレス • 通信端末に世界で唯⼀割り当てられた識別⼦ • パソコンのインターフェースと呼ばれる部分に割り当てられる • インターフェイスは通信の出⼊り⼝的なところ IP:192.168.1.2 MAC:98:01:a7:d0:b7:5b 150.43.0.0
133.5.0.0 IP:192.168.1.2 MAC:58:52:8a:1b:08:fd その他のルーター (インターネット)
OSI参照モデル • 正直ざっくりと分かってれば良い • リンク層 • Mac:Macアドレスを元に通信をする(LANの中での通信な雰囲気) • ネットワーク層(インターネット層) •
IP:IPアドレスを元に通信する(インターネットな雰囲気) • トランスポート層 • TCP:コネクションを確⽴して通信をする(通信形式みたいな) • リンク層の上にネットワーク層が乗ってその上にトランスポー トが乗っての繰り返し。
Wiresharkの紹介
Wiresharkとは • 世界的に有名なパケット解析ツール • これがあれば⼤体何でもできる。 • 鍵があればHTTPS中⾝とかも⾒れる
Wiresharkを使ってパケットを⾒てみよう!
サンプルパケットのダウンロード • Google Driveからダウンロードしてね。 • https://ux.nu/EkoPN • sampleHTTPをWiresharkで開く
開き⽅
開き⽅
開き⽅
開き⽅
Wiresharkの⾒⽅ これら⼀つ⼀つがパケット パケットの中⾝を表⽰している 本当に流れている実際のパケットの中⾝
Wiresharkの⾒⽅ 送信先IPアドレス 送信元IPアドレス プロトコルの種類(⼀番上に乗ってるの) パケットをデコードした結果
Wiresharkのフィルタ ここに「http」と⼊⼒してHTTPリクエストだけをフィルタして表⽰する
Wiresharkでフィルタした後 フィルタの中⾝ HTTPでフィルタしたのでHTTPのみ
TCP/IPパケット解説 • わかりやすい図などはこちら • IP • https://www.infraexpert.com/study/tcpip1.html • TCP •
https://www.infraexpert.com/study/tcpip8.html
TCP/IPパケット解説 • リンク層 • ▪⾚:送信先macアドレス( 58:52:8a:1b:08:fd ) • ▪⻩:送信元macアドレス( 98:01:a7:d0:b7:5b
) • ▪⻘:イーサタイプ(IPv4なのかIPv6なのか)https://goo.gl/HqZa2h • 0x0800だとIPv4 • 0x86DDだとIPv6 • 0x0806だとARP(MACアドレスを教えあうプロトコル)
Wiresharkだと
TCP/IPパケット解説 • ネットワーク層 • ▪⾚:送信元IPアドレス( 192.168.1.7 ) • ▪⻩:送信先IPアドレス( 219.94.163.38
) • ※リンク層とは別で送信元と送信先が逆な所注意 • 192.168.1.7の部分はルーターがグローバルIPに置き換えてネッ トに出て⾏く。
Wiresharkだと
Wiresharkワンポイントアドバイス • バイナリをクリックするとそれが何の情報なのかを真ん中のタ ブで表⽰してくれる。(逆もしかり)
Wireshark で HTTP GETリクエストを追ってみよう
⼀旦フィルタを消そう! ここの×をクリックするか フィルタの中⾝の⽂字列を消してエンター!
HTTP GETを追う フィルタが何も無いことを確認
HTTP GETを追う HTTP GETと書かれているのを右クリック 追跡→HTTPストリーム
HTTP GETを追う ⾚:実際に送っているリクエスト ⻘:リクエストに対する返答 リクエストしたHTMLの中⾝
HTTP GETを追う ⾚:実際に送っているリクエスト ⻘:リクエストに対する返答 ⽂字化けはここから⽂字コード変換 (⽇本語不可)
HTTP GETを追う ここからリクエスト送った側と送られた側でフィルタできる ⽂字化けはここから⽂字コード変換 (⽇本語不可) 検索を使うと該当⽂字列がドラッグされる
HTTP GETを追う パケットサイズを⾒ると1つのHTMLを1468byteで分割して 複数のパケットで送っているのがわかる
みんなお待ちかね唐突の課題! • 農林⽔産省のIPアドレスをWiresharkを使って調査せよ!
どうやるの? • コントールキー+Wキーを押すとこちらの画⾯に戻ります。
どうやるの? • パケットをキャプチャするインターフェイスを選択 ここにインターフェイスのリストがある ここの波形が⼀番波打ってるのが⼤体メインのインターフェイス
どうやるの? パケットキャプチャが即座に⾏われパソコンに⼊ってるパケット全てを羅列する
どうやるの? • パケットがキャプチャされ始めたらブラウザを使って農林⽔産 省のホームページへアクセス! • すると農林⽔産省のホームページに対してHTTP GETリクエス トを⾏います。 • コツ:アクセス前にキャプチャを⼀旦停⽌してクリアする。キャ
プチャを開始すると同時にブラウザでアクセス。 • HTMLが表⽰れたら即座にキャプチャ停⽌
どうやるの? パケットキャプチャ開始 パケットキャプチャ停⽌
どうやるの? 記録したパケットをクリアする 最後のパケットを追尾 最後or最初のパケットに⾶ぶ 記録したパケットの順番
パケット多すぎ!!! • 知らない間にパソコンにはいろいろなパケットがあります。 • さっき使ったフィルタを使ってみましょう。
答え合わせ • 実際にやります
は?こんなの余裕でしょw • そんな⼈たちへ • 福岡県久留⽶市のホームページにGETリクエストを送って Wiresharkで表⽰してみよう! • 条件:左下の画像と同じ感じに表⽰しよう!
答え合わせ • 実際にやります。
最終問題! • getPassword.pcapngファイルを開いてパスワードをブチ抜こ う! • 答えがわかったら↓のURLから⼊⼒しよう! • http://leggiero.sakura.ne.jp/xxxxbasic_auth_testxxxx/secret/ kaiin_page_top.htm •
https://ux.nu/mTkRa
答え合わせ • 実際にやります。
よく使うパケットフィルタリスト • よく使うパケットフィルタ • http • ip.addr == 192.168.1.7 •
というかここを⾒れば良い • フィルタの右側の書式を押す • 検索にそれっぽい単語を⼊れる
その他の解析ツール紹介 • Charles 試⽤・有料 • http/httpsのパケット解析に特化したツール • ドメインごとにリクエストを⾒られるので⽬的のパケットを⾒つけやすい • Curlを⽂を⾃動⽣成するのでワンクリックでリクエストを再現可能。
• Pkttools 無料 • セキュリティキャンプでおなじみ坂井弘亮⽒が作った純国産 • 簡易分析の位置付けだがパケットを直接編集や送信などできる超神ツール • CLIでパイプを使ってフィルタする • Chrome 開発者ツール Networkタブ 無料 • ブラヴザに⼊るhttp/httpsリクエストを分析できる。 • Curlを⽂を⾃動⽣成するのでワンクリックでリクエストを再現可能。
Charles
pkttools
chrome
Chrome curl
Chrome curl
質問orこれやってくれ!
最後に • サポーターズcolab運営のみなさまへ • イベントの場所確保など⼤変な作業ありがとうございました。