mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
2652 文字
7 分
実験2 IPプロトコル分析
2022-07-01

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

https://www.jianshu.com/p/d9162722f189

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

https://www.cnblogs.com/csnd/p/11807736.html

https://pc.qq.com/search.html#!keyword=xshell

3.3 利用tcpdump抓包,wireshark分析包#

在阿里云主機運行命令 traceroute www.xju.edu.cn –T,並利用tcpdump抓包。下載文件到本地機器利用wireshark軟件进行分析。

**提示:**1. 必须首先执行抓包命令,然后再执行路径追踪命令。抓包命令 tcpdump -i eth0 -w test.cap

  1. 可使用scp命令或者利用xshellxftp下载数据包到本地机器。
  1. tcpdumpを用いてパケットをキャプチャし、Wiresharkでキャプチャデータを分析します。IPヘッダの構造を分析し、IPプロトコルツリーの各名称フィールド、フィールド長、フィールド情報を以下の表に記入します。
フィールド名フィールド長フィールド値フィールド表現情報
バージョン (Version)4bit40100 … = バージョン: 4
ヘッダ長 IP4bit20… 0101 = ヘッダ長: 20 bytes (5)
Differentiated services フィールド8bit0x00Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
全長16bit40全長: 40
識別子16bit0x6f33識別子: 0x6f33 (28467)
フラグ3bit0x40Flags: 0x40, Don’t fragment
分割オフセット13bit0…0 0000 0000 0000 = 分割オフセット: 0
生存時間(TTL)8bit64生存時間: 64
プロトコル8bit6プロトコル: TCP (6)
ヘッダーチェックサム16bit0x9d2cヘッダーチェックサム: 0x9d2c [validation disabled]
送信元アドレス32bit172.16.2.237送信元アドレス: 172.16.2.237
宛先アドレス32bit100.100.27.15宛先アドレス: 100.100.27.15
  1. Wiresharkを用いて関連する traceroute コマンドの実行結果を分析・解釈します。

**提示:**Wireshark のフィルタ欄で表示を ICMP のみに設定します。

4.実験結果と分析#

4.1 tcpdump基本的な使い方#

tcpdumpは、ネットワークパケットをキャプチャしてパケット内容を出力するツールです。強力な機能と柔軟なキャプチャ戦略により、UNIX系システム上のネットワーク分析とトラブルシューティングの第一選択ツールとなっています。

tcpdump は、ネットワーク層、プロトコル、ホスト、ネットワークまたはポートに対するフィルタリングをサポートし、and、or、not などの論理文を提供して不要な情報を除去するのに役立ちます。

  • デフォルトの起動
tcpdump//普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

XBDLEKRJiZI1o4z.png

  • 指定ネットワークインターフェースのデータパケットを監視
tcpdump -i eth1//如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0

4.2 wireshark基本用法#

Wireshark(旧称 Ethereal)は、ネットワークパケット解析ソフトウェアです。ネットワークパケット解析ソフトウェアの機能は、ネットワークパケットを取得し、可能な限り最も詳細なネットワークパケット情報を表示することです。WiresharkはWinPCAPをインタフェースとして使用し、 NICとデータグラムを直接交換します。

ネットワーク管理者はネットワークの問題を検出するためにWiresharkを使用し、ネットワークセキュリティエンジニアは情報セキュリティ関連の問題を確認するためにWiresharkを使用し、開発者は新しい通信プロトコルのデバッグのためにWiresharkを使用し、普通の利用者はネットワークプロトコルの関連知識を学ぶためにWiresharkを使用します。そのインターフェースは図のとおりです。

hwT2YybXpv4DZdP.png

4.3 利用tcpdumpでのキャプチャ、wiresharkでのパケット分析#

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

tMLwgqz9cHUPhDa.png

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

bekUQoM2hriayS4.png

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

Mn1O56hby9ultBL.png

  1. wiresharktest.capファイルを開き、分析します

F2Sg186ZxmW4HYn.png

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

2jCLdqIHZOUyec5.png

G3D2ajfuXOV7LFM.png

VviL34IUOpz5tjF.png

分析結果:

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 プロトコルの追跡分析を実施することで、授業で学んだ知識を裏付けることができました。
共有

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

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

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

関連した投稿 スマート
1
実験3 UDPプロトコル分析
cs-base 本実験は、UDPプロトコルの内容と動作原理を把握し、DNSクエリおよびQQ通信のUDPパケットを解析することを目的としています。tcpdumpとWiresharkを用いたパケット取得・解析を行い、結果としてUDPパケットが送信元ポート、宛先ポート、長さ、チェックサムで構成されることを確認しました。実験を通じてtracerouteコマンドやXftp接続の問題を解決し、IPプロトコル解析への理解とプログラミング能力を高めました。
2
実験4 TCPプロトコル分析
cs-base 本実験は、TCPプロトコルの基本概念とパケット構造を理解し、接続確立と切断の過程を分析し、tcpdumpとWiresharkを用いたTCPプロトコル解析技術を習得することを目的としています。wgetでWebページを取得してパケットをキャプチャし、TCPヘッダおよび各フィールドを解析し、3ウェイハンドシェイクと4ウェイハンドシェイク(切断)の過程を検討します。最後に実験中の問題と解決方法をまとめ、IPプロトコルとTCPパケット構造への理解を深めました。
3
実験7 HTTPプロトコル分析と測定
cs-base 本実験は、HTTPプロトコルとそのメッセージ構造を理解し、tcpdumpとWiresharkを用いたHTTPパケットの取得・解析を習得することを目的としています。新疆大学のホームページをダウンロードし、HTTPバージョン、IPアドレス、ステータスコード、コンテンツバイト数、ヘッダフィールドを解析します。実験中に発生した接続エラーも解決し、プログラミング能力とHTTPプロトコルへの理解を高めました。
4
実験6 DNSプロトコル分析と測定
cs-base 本実験は、DNSプロトコルとその基本概念(ドメイン名の構造、DNSサーバー、名前解決の原理など)を理解することを目的としています。DNSシステムの設定、digツールを用いたDNS情報の測定、tcpdumpとWiresharkによるDNSクエリパケットの解析を行います。結果としてDNSクエリ各フィールドの意味を確認し、実験中に遭遇した問題と解決策をまとめることで、DNSプロトコルへの理解とプログラミング能力を高めました。
5
実験1 よく使うネットワークコマンド
cs-base 本実験は、LinuxとWindowsのコマンドライン操作を理解し、ping、ifconfig、traceroute、arp、netstatなどの代表的なネットワークコマンドの基本的な使い方に慣れることを目的としています。ネットワーク接続性の確認、TCP/IP設定の表示、パケット経路の測定、ARPキャッシュの確認、アクティブなTCP接続の確認を行います。実験を通じてコマンドラインの使い方を習得し、OS間で同一機能コマンドのパラメータ差異を理解し、プログラミング能力も向上しました。

目次