パケットキャプチャの仕組み
ネットワークスニッフィングツール、プロミスキャスモード、受動的盗聴の原理を理解します。
「パケットキャプチャの仕組み」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。
ネットワークインターフェースのプロミスキャスモード
ネットワークインターフェースカードは通常、自身のMACアドレス宛てでないパケットを破棄します。プロミスキャスモードはこのフィルターを無効にし、宛先に関係なく、NICが受信したすべてのフレームをオペレーティングシステムに渡します。管理者権限があれば、どのアプリケーションでもインターフェースをプロミスキャスモードに切り替え、そのマシン宛てのトラフィックだけでなく、ネットワークセグメント上で見えるすべてのトラフィックを受信できます。
libpcap:キャプチャの基盤
libpcapは、Unix系システムでパケットキャプチャを行うための標準APIを提供する、移植性の高いCライブラリです。Windowsでは、WinPcapとその後継であるNpcapが同等の機能を提供します。Wireshark、tcpdump、Snortを含むほぼすべてのパケットキャプチャおよびネットワーク解析ツールは、基盤となるキャプチャエンジンとしてlibpcapを使用しています。libpcapはオペレーティングシステムとの低レベルなやり取りを処理し、特定のパケットを選択するためのフィルター言語を提供します。
Wireshark:パケット解析ツール
Wiresharkは、最も広く使われているグラフィカルなパケット解析ツールです。ライブトラフィックをキャプチャしたり、保存済みのPCAPファイルを開いたりでき、何百ものプロトコルをデコードして、TCPストリームを再構成し、鍵が利用可能な場合は復号された内容を表示します。色分けされたパケット行、表示フィルター、ストリームの追跡、プロトコル統計により、ネットワークのトラブルシューティングとセキュリティ分析の両方に欠かせないツールとなっています。
コマンドラインキャプチャのtcpdump
tcpdumpは、ほぼすべてのUnixシステムで利用できるコマンドラインのパケットキャプチャツールです。tcpdump -i eth0 port 80のような単純なコマンドを実行すると、eth0インターフェース上のすべてのHTTPトラフィックをキャプチャし、各パケットの概要を表示します。-wフラグを使用すると、生のパケットをPCAPファイルに書き込み、後でWiresharkで分析できます。tcpdumpのBPFフィルター言語を使えば、プロトコル、ポート、アドレス、フラグによってトラフィックを正確に選択できます。
ARPポイズニングによるスイッチトトラフィックの傍受
現代のスイッチネットワークでは、スイッチはパケットを正しい宛先ポートにだけ転送するため、プロミスキャスモードのNICで見えるのはブロードキャストトラフィックと自身のMACアドレス宛てのトラフィックだけです。ARPポイズニングはこの制限を回避します。攻撃者は、被害者に対しては攻撃者のMACアドレスがゲートウェイであると伝え、ゲートウェイに対しては攻撃者のMACアドレスが被害者であると伝える、Gratuitous ARP応答を送信します。すべてのトラフィックが攻撃者のマシンを経由するようになります。
ARPスプーフィングによる中間者攻撃
ARPポイズニングが成功すると、攻撃者のマシンは被害者とゲートウェイの両方からパケットを受信します。通信を妨害しないように、攻撃者は両者の間でパケットを転送しながら、その内容を読み取ったり変更したりします。dsniffスイートのarpspoofやEttercapなどのツールは、ARPポイズニングとトラフィック転送を自動化します。この攻撃はローカルネットワークセグメント上でひそかに実行でき、専用のARP監視がなければ被害者が検知するのは困難です。
ハブ上での受動的スニッフィング
スイッチが標準になる前は、ネットワークで、すべてのパケットをすべてのポートにブロードキャストするハブが使われていました。ハブベースのセグメントでは、ポイズニングを行わなくても、プロミスキャスモードにするだけですべてのホストからの全トラフィックをキャプチャできました。現在、ハブは古いレガシー環境や一部の産業用制御ネットワーク以外ではほとんど使われていません。ただし、Wi-Fiネットワークは同じ無線チャネル内のトラフィックに対してハブのように動作するため、モニターモードでは受動的なキャプチャを簡単に行えます。
マネージドスイッチでのポートミラーリング
ネットワーク管理者は、監視やトラブルシューティングのために、正当な手段としてポートミラーリング(Ciscoの用語ではSPANとも呼ばれます)を使用します。マネージドスイッチを設定し、指定したポートまたはVLANを通過するすべてのトラフィックを、監視デバイスに接続された専用のミラーポートへコピーします。これによりARPポイズニングを行わずにトラフィック全体を可視化でき、侵入検知センサーやネットワークタップで承認された方法です。
パケットキャプチャの法的・倫理的側面
アクセス権限のないネットワークトラフィックをキャプチャすることは、米国のComputer Fraud and Abuse Actや英国のComputer Misuse Actを含め、ほとんどの法域で法律に違反します。組織内であっても、従業員のトラフィックをキャプチャするには、本人の同意や人事ポリシーの遵守が必要になる場合があります。ペネトレーションテスターは、パケットキャプチャを対象範囲に含む明示的な書面による承認を得なければなりません。IT管理者がネットワーク監視を導入する場合も、通常は組織のポリシーによる承認が必要です。
キャプチャしたパケットから分かること
数分間のネットワーク活動をキャプチャするだけでも、HTTP User-Agentヘッダーからアプリケーションのバージョン、TCPスタックの動作からオペレーティングシステムのフィンガープリント、DNSクエリから内部ホスト名、レガシープロトコルから認証情報、HTTPトラフィックからセッションCookie、さらに通信しているすべてのシステムとサービスの構成図まで明らかになります。この偵察情報としての価値により、パケットキャプチャは主要な攻撃手段となっています。
パケットキャプチャ攻撃への防御
パケットキャプチャに対する主要な防御策は、すべてのネットワークトラフィックを暗号化し、キャプチャされたパケットに暗号文だけが含まれるようにすることです。マネージドスイッチのDynamic ARP Inspectionは、信頼できるDHCPバインディングテーブルと照合してARP応答を検証し、ARPポイズニングを防ぎます。ポートセキュリティは、各スイッチポートに接続できるMACアドレスを制限します。ネットワークセグメンテーションは、ARP攻撃を行う1台の侵害されたマシンによる被害範囲を限定します。
ARPポイズニング
スイッチネットワーク上でのパケットキャプチャ攻撃において、ARPポイズニングは何を目的として行われますか。
パケットキャプチャ:重要なポイント
プロミスキャスモードを使うと、NICはセグメント上のすべてのフレームを受信できます。libpcapは、主要なキャプチャツールすべての基盤です。Wiresharkとtcpdumpは主要な分析ツールです。ARPポイズニングは、スイッチトラフィックを攻撃者のマシン経由に変更し、中間者攻撃によるキャプチャを可能にします。ポートミラーリングを使えば、ポイズニングなしで正当に監視できます。暗号化が主要な防御策であり、Dynamic ARP Inspectionがポイズニング攻撃を防ぎます。
AI チューターと学ぶ Cryptology Academy — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 67
- レッスン
- 261
よくある質問
「パケットキャプチャの仕組み」レッスンは無料ですか?
はい。「パケットキャプチャの仕組み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。
「パケットキャプチャの仕組み」で何を学びますか?
ネットワークスニッフィングツール、プロミスキャスモード、受動的盗聴の原理を理解します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cryptology Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「パケットキャプチャの仕組み」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCryptology Academyレッスンでコードを書いて実行できますか?
はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 平文プロトコル:攻撃者に見えるもの
- パケットキャプチャの仕組み
- 暗号化通信の分析
- DNSセキュリティ:DoHとDoT