mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1922 文字
5 分
実験3 UDPプロトコル分析
2022-07-01

1.実験目的#

  • トランスポート層UDPプロトコルの内容を把握する
  • UDPプロトコルの動作原理を理解する
  • アプリケーション層とトランスポート層プロトコルの関係を理解する

2.実験環境#

  • ハードウェア要件:阿里雲クラウドホスト ECS を1台。
  • ソフトウェア要件:Linux/Windows オペレーティングシステム

3.実験内容#

UDP(User Datagram Protocol、ユーザデータグラムプロトコル)は、コネクションレス型のトランスポート層プロトコルで、イベント指向の単純で信頼性のないデータ伝送サービスを提供します。多くのアプリケーション層プロトコル(NFS、SNMP、DNS、TFTP など)をサポートします。TCPとは異なり、UDPはIPプロトコルの信頼性機構、制御、エラー回復などを提供しません。UDPは比較的シンプルで、UDPヘッダには少ないバイトしか含まれず、TCPよりペイロードの消費が少ないです。

以下の実験を完了し、表を埋め、質問に答えてください。

3.1 DNSクエリ UDPデータ分析#

tcpdumpを使用してDNSクエリのネットワーク通信パケットを取得し、wiresharkを用いてUDPデータを分析します。

例:

dig www.xju.edu.cn

3.2 QQ UDPデータ分析#

Wiresharkを使用してQQネットワーク通信データパケットを取得し、UDPデータを分析します。

QQクライアント間のメッセージ伝送はUDPを採用しています。国内のネットワーク環境は非常に複雑で、多くのユーザーが代理サーバを介して同じ回線でインターネットに接続する方法を採用しているため、UDPパケットは大半の代理サーバを透過できます。そのためQQはクライアント間の通信プロトコルとしてUDPを選択しました。したがって、QQのチャットウィンドウを開いてキャプチャを開始し、友人と会話をしてキャプチャを停止するとUDPデータパケットを得ることができます。

4.実験結果と分析#

4.1 捕捉データに基づくUDPメッセージ構造の分析:UDPプロトコルの各フィールド名・値・情報を下表に入力#

  • DNSクエリ UDPデータ分析

まずtcpdump -i eth0 -w test.captraceroute www.xju.edu.cn -Tを用いて捕捉し、test.cap内のデータを分析します。実行過程は以下の図のとおりです。

uZAyJgwOr46GMmi.png

次にDNSをフィルタしてUDPデータを分析します。下の図のとおりです。

Bv96TUKWqdJXFPV.png

取得データを下表に入力します。

フィールド名フィールド値フィールド情報
送信元ポート54022送信元ポート: 54022
宛先ポート53宛先ポート: 53
長さ52長さ: 52
チェックサム0x1582チェックサム: 0x1582 [未検証]
  • QQ UDPデータ分析

Wiresharkを使用してローカルのQQデータをキャプチャした過程は以下の図です。

  1. イーサネットを選択

nAiTQXL4dvC3Jow.png

  1. キャプチャを終了

1joF3KvGeUSn2Tw.png

  1. OICQをフィルタしてデータを取得・分析

A3XliLQpaKSwgjb.png

取得データを下表に入力します。

フィールド名フィールド値フィールド情報
送信元ポート4022送信元ポート: 4022
宛先ポート8000宛先ポート: 8000
長さ63長さ: 63
チェックサム0x8c64チェックサム: 0x8c64 [未検証]

4.2 実験結果の分析に基づくUDPパケット構造はどのような部分で構成され、それぞれの機能は何か?#

実験で得られたデータから、UDPパケットの本体は2つの部分に分かれます:UDPヘッダ(8バイト)+ UDPデータ/UDPペイロード。UDPヘッダは送信元ポート、宛先ポート、長さ、チェックサムで構成されています。

UDPヘッダの4つのフィールドは、それぞれ2バイト(16ビット)を占め、その機能は以下のとおりです:

送信元ポート
送信元ポートは、サーバー側アプリケーションがパケットの送信元を特定するのに役立ちます。宛先ポート
宛先ポートは、宛先ホストがそのポートで待機しているアプリケーションデータを対応する応答プロセスへ渡すのに役立ちます(=対応機能を実行します)。長さ
長さフィールドは、UDPパケット全体のバイト数(ヘッダを含むデータ)を示します。データフィールドの長さはUDPペイロード内で固定されていないため、受信側プログラムの処理を容易にするために長さフィールドが必要です。検査和
チェックサム
受信側はチェックサムを用いて、このパケットに誤りが含まれていないかを検査します。

5.実験結論#

5.1 問題と解決方法#

  • tracerouteコマンド使用時に -bash: traceroute: command not found というエラーが発生しました。解決方法として、yum install traceroute コマンドを実行して traceroute をインストールします。

  • Xftpを使ってサーバーへ接続する際に接続エラーが発生した場合、キャンパスネットワークに接続してから通常に戻ることを確認しました。原因はサーバーファイアウォールによるものと判明しました。

5.2 感想#

  • 本実験レポートでは、IPプロトコル分析の過程でのコードとソフトウェアの操作に熟練し、UDPパケットの分析と抽出を通じて授業で学んだ知識を実証しました。今回の実験を通じて、tracerouteコマンドの具体的な使用手順を身につけ、一般的なIPプロトコル分析ソフトウェアの基本的な使い方を理解し、プログラミング能力を向上させました。
  • これらの一般的なIPプロトコル分析コマンドの操作を通じて、IPプロトコルの追跡分析とUDPパケットの構造分析を実践し、授業で学んだ知識を再確認しました。
共有

この記事が役に立ったときは、ぜひ他の人に共有してください!

実験3 UDPプロトコル分析
https://dreaife.tokyo/jp/posts/udp-analysis-lab/
著者
dreaife
公開日
2022-07-01
ライセンス
CC BY-NC-SA 4.0

一部の情報は古い可能性があります

関連した投稿 スマート
1
実験2 IPプロトコル分析
cs-base 本実験は、IPパケット形式と各フィールドの意味を理解し、tcpdumpとWiresharkの使い方を習得することを目的としています。実験環境にはAlibaba Cloudホストと各種OSを使用します。tcpdumpでのパケット取得とWiresharkでの解析を通じて、IPプロトコル構造と関連コマンドの活用を学び、tracerouteコマンドやXftp接続の問題を解決し、プログラミング能力とIPプロトコル理解を向上させました。
2
実験4 TCPプロトコル分析
cs-base 本実験は、TCPプロトコルの基本概念とパケット構造を理解し、接続確立と切断の過程を分析し、tcpdumpとWiresharkを用いたTCPプロトコル解析技術を習得することを目的としています。wgetでWebページを取得してパケットをキャプチャし、TCPヘッダおよび各フィールドを解析し、3ウェイハンドシェイクと4ウェイハンドシェイク(切断)の過程を検討します。最後に実験中の問題と解決方法をまとめ、IPプロトコルとTCPパケット構造への理解を深めました。
3
実験6 DNSプロトコル分析と測定
cs-base 本実験は、DNSプロトコルとその基本概念(ドメイン名の構造、DNSサーバー、名前解決の原理など)を理解することを目的としています。DNSシステムの設定、digツールを用いたDNS情報の測定、tcpdumpとWiresharkによるDNSクエリパケットの解析を行います。結果としてDNSクエリ各フィールドの意味を確認し、実験中に遭遇した問題と解決策をまとめることで、DNSプロトコルへの理解とプログラミング能力を高めました。
4
実験7 HTTPプロトコル分析と測定
cs-base 本実験は、HTTPプロトコルとそのメッセージ構造を理解し、tcpdumpとWiresharkを用いたHTTPパケットの取得・解析を習得することを目的としています。新疆大学のホームページをダウンロードし、HTTPバージョン、IPアドレス、ステータスコード、コンテンツバイト数、ヘッダフィールドを解析します。実験中に発生した接続エラーも解決し、プログラミング能力とHTTPプロトコルへの理解を高めました。
5
実験5 電子メール
cs-base 本実験は、SMTPやPOP3を含む電子メールシステムの基本構造と通信プロトコルを理解することを目的としています。メールエージェント、クライアント、Webメール、telnetコマンドを用いて送受信を行い、その通信過程とプロトコルを解析しました。実験結果として、メール送信の具体的な流れとSMTPプロトコル解析への理解が深まり、プログラミング能力とプロトコル理解の向上につながりました。

目次