1.実験目的
- IPパケットのフォーマットを理解し、IPパケット各フィールドの意味と長さに慣れる
- tcpdumpとWiresharkソフトウェアを用いたデータパケットのキャプチャと分析技術を習得
2.実験環境
- ハードウェア要件:Alibaba Cloudのクラウドホスト ECS を1台。
- ソフトウェア要件:Linux/Windows オペレーティングシステム
3.実験内容
3.1 tcpdump基本的な使い方
tcpdumpは、ネットワークパケットをキャプチャしてパケット内容を出力するツールです。強力な機能と柔軟なキャプチャ戦略により、UNIX系システム上のネットワーク分析とトラブルシューティングの第一選択ツールとなっています。
tcpdump は、ネットワーク層、プロトコル、ホスト、ネットワークまたはポートに対するフィルタリングをサポートし、and、or、not などの論理文を提供して不要な情報を除去するのに役立ちます。
参考資料:
https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html
3.2 wireshark基本用法
Wireshark(旧称 Ethereal)は、ネットワークパケット解析ソフトウェアです。ネットワークパケット解析ソフトウェアの機能は、ネットワークパケットを取得し、可能な限り最も詳細なネットワークパケット情報を表示することです。WiresharkはWinPCAPをインタフェースとして使用し、NICとデータグラムを直接交換します。
ネットワーク管理者はネットワークの問題を検出するためにWiresharkを使用し、ネットワークセキュリティエンジニアは情報セキュリティ関連の問題を確認するためにWiresharkを使用し、開発者は新しい通信プロトコルのデバッグのためにWiresharkを使用し、一般のユーザーはネットワークプロトコルに関する知識を学ぶためにWiresharkを使用します。そのインターフェースは図のとおりです。
参考资料:
https://www.wireshark.org/#download
https://pc.qq.com/search.html#!keyword=wireshark
3.3 利用tcpdump抓包,wireshark分析包
在阿里云主機運行命令 traceroute www.xju.edu.cn –T,並利用tcpdump抓包。下載文件到本地機器利用wireshark軟件进行分析。
**提示:**1. 必须首先执行抓包命令,然后再执行路径追踪命令。抓包命令 tcpdump -i eth0 -w test.cap
- 可使用
scp命令或者利用xshell和xftp下载数据包到本地机器。
- tcpdumpを用いてパケットをキャプチャし、Wiresharkでキャプチャデータを分析します。IPヘッダの構造を分析し、IPプロトコルツリーの各名称フィールド、フィールド長、フィールド情報を以下の表に記入します。
| フィールド名 | フィールド長 | フィールド値 | フィールド表現情報 |
|---|---|---|---|
| バージョン (Version) | 4bit | 4 | 0100 … = バージョン: 4 |
| ヘッダ長 IP | 4bit | 20 | … 0101 = ヘッダ長: 20 bytes (5) |
| Differentiated services フィールド | 8bit | 0x00 | Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT) |
| 全長 | 16bit | 40 | 全長: 40 |
| 識別子 | 16bit | 0x6f33 | 識別子: 0x6f33 (28467) |
| フラグ | 3bit | 0x40 | Flags: 0x40, Don’t fragment |
| 分割オフセット | 13bit | 0 | …0 0000 0000 0000 = 分割オフセット: 0 |
| 生存時間(TTL) | 8bit | 64 | 生存時間: 64 |
| プロトコル | 8bit | 6 | プロトコル: TCP (6) |
| ヘッダーチェックサム | 16bit | 0x9d2c | ヘッダーチェックサム: 0x9d2c [validation disabled] |
| 送信元アドレス | 32bit | 172.16.2.237 | 送信元アドレス: 172.16.2.237 |
| 宛先アドレス | 32bit | 100.100.27.15 | 宛先アドレス: 100.100.27.15 |
- Wiresharkを用いて関連する traceroute コマンドの実行結果を分析・解釈します。
**提示:**Wireshark のフィルタ欄で表示を ICMP のみに設定します。
4.実験結果と分析
4.1 tcpdump基本的な使い方
tcpdumpは、ネットワークパケットをキャプチャしてパケット内容を出力するツールです。強力な機能と柔軟なキャプチャ戦略により、UNIX系システム上のネットワーク分析とトラブルシューティングの第一選択ツールとなっています。
tcpdump は、ネットワーク層、プロトコル、ホスト、ネットワークまたはポートに対するフィルタリングをサポートし、and、or、not などの論理文を提供して不要な情報を除去するのに役立ちます。
- デフォルトの起動
tcpdump//普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。
- 指定ネットワークインターフェースのデータパケットを監視
tcpdump -i eth1//如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth04.2 wireshark基本用法
Wireshark(旧称 Ethereal)は、ネットワークパケット解析ソフトウェアです。ネットワークパケット解析ソフトウェアの機能は、ネットワークパケットを取得し、可能な限り最も詳細なネットワークパケット情報を表示することです。WiresharkはWinPCAPをインタフェースとして使用し、 NICとデータグラムを直接交換します。
ネットワーク管理者はネットワークの問題を検出するためにWiresharkを使用し、ネットワークセキュリティエンジニアは情報セキュリティ関連の問題を確認するためにWiresharkを使用し、開発者は新しい通信プロトコルのデバッグのためにWiresharkを使用し、普通の利用者はネットワークプロトコルの関連知識を学ぶためにWiresharkを使用します。そのインターフェースは図のとおりです。

4.3 利用tcpdumpでのキャプチャ、wiresharkでのパケット分析
- パケットキャプチャコマンド
tcpdump -i eth0 -w test.capを実行し、取得情報を/root/test.capファイルに保存します

- コマンド
traceroute www.xju.edu.cn –Tを実行

xftpでホストに接続し、保存したキャプチャファイルをPCへ保存します

wiresharkでtest.capファイルを開き、分析します

- 捕捉したデータパケットについて、
IPヘッダの構造を分析し、IPプロトコルツリーの各名称フィールド、フィールド長、フィールド情報を以下の表に記入します。
| フィールド名 | フィールド長 | フィールド値 | フィールド表現情報 |
|---|---|---|---|
| バージョン (Version) | 4bit | 4 | 0100 … = バージョン: 4 |
| ヘッダ長 IP | 4bit | 20 | … 0101 = ヘッダ長: 20 bytes (5) |
| Differentiated services フィールド | 8bit | 0x00 | Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT) |
| 全長 | 16bit | 40 | 全長: 40 |
| 識別子 | 16bit | 0x6f33 | 識別子: 0x6f33 (28467) |
| フラグ | 3bit | 0x40 | Flags: 0x40, Don’t fragment |
| 分割オフセット | 13bit | 0 | …0 0000 0000 0000 = 分割オフセット: 0 |
| 生存時間(TTL) | 8bit | 64 | 生存時間: 64 |
| プロトコル | 8bit | 6 | プロトコル: TCP (6) |
| ヘッダーチェックサム | 16bit | 0x9d2c | ヘッダーチェックサム: 0x9d2c [validation disabled] |
| 送信元アドレス | 32bit | 172.16.2.237 | 送信元アドレス: 172.16.2.237 |
| 宛先アドレス | 32bit | 100.100.27.15 | 宛先アドレス: 100.100.27.15 |
- 関連する
tracerouteコマンドの結果を分析・解釈します。ICMPを用いて実行結果を分析します。



分析結果:
ICMPパケットの種類は2つに分かれます:ICMPエラーメッセージとICMPエコー(クエリ)メッセージです。キャプチャ中に現れたICMPパケットのタイプはすべて「Time to live exceeded in transit」(TTL超過)で、時間超過を意味します。ランダムに1つのICMPパケットを選ぶと、このパケットのType=11, Code=0で、エラーレポートに該当し、時間超過を示します。そのチェックサムは0x4e4dで、正しく、チェックサムの状態は良好で、TTLは4です。
5.実験のまとめ
5.1 問題と対処方法
tracerouteコマンドを使用した際に -bash: traceroute: command not found エラーが発生した場合の解決方法は、yum install traceroute コマンドを使用して traceroute を最初にインストールします。 Xftpでサーバへ接続する際に接続エラーが発生した場合の対処方法は、キャンパスネットワークで接続した後復旧、原因を調査したところサーバのファイアウォールが原因であると判明しました。
5.2 感想
- 本実験レポートは、IPプロトコル分析の過程でコードとソフトウェアの操作に習熟し、授業で学んだ知識を検証しました。今回の実験を通じて、traceroute コマンドの具体的な使用手順を身につけ、一般的な IP プロトコル分析ソフトの基本的な使い方を理解し、自身のプログラミング能力を向上させました。
- これらの一般的な IP プロトコル分析コマンドの操作を通じ、IP プロトコルの追跡分析を実施することで、授業で学んだ知識を裏付けることができました。
この記事が役に立ったときは、ぜひ他の人に共有してください!
一部の情報は古い可能性があります





