ネットワーク セキュリティ ツール - Wireshark パケット キャプチャ ツール


1. Wireshark パケット キャプチャの概要

1. WireShark の概要

Wireshark はネットワーク パケット解析ソフトウェアです。ネットワーク パケット分析ソフトウェアの機能は、ネットワーク パケットをキャプチャし、可能な限り詳細なネットワーク パケット情報を表示することです。Wireshark は、WinPCAP をインターフェイスとして使用し、ネットワーク カードとデータ パケットを直接交換します。

2. WireSharkの応用

  • ネットワーク管理者は Wireshark を使用してネットワークの問題を検出します。
  • ネットワーク セキュリティ エンジニアは Wireshark を使用して情報セキュリティ関連の問題をチェックします。
  • 開発者は Wireshark を使用して新しい通信プロトコルをデバッグします。
  • 一般のユーザーは、Wireshark を使用してネットワーク プロトコルについて学習します。
  • もちろん、機密情報を見つけるために「下心」を持って使用する人もいます...

3. WireShark パケット キャプチャ スキル

  • (1) Wireshark の物理的な場所を特定します。正しい場所がないと、Wireshark の起動後に無関係なデータをキャプチャするのに長い時間がかかります。
  • (2) キャプチャインターフェースを選択します。一般に、インターネット ネットワークに接続されるインターフェイスは、ネットワーク関連のデータをキャプチャできるように選択されます。そうしないと、収集された他のデータは役に立ちません。
  • (3) キャプチャフィルターを使用します。キャプチャ フィルタを設定すると、過度に大きなキャプチャ データの生成を回避できます。このようにして、ユーザーはデータを分析する際に他のデータに干渉されなくなります。さらに、ユーザーの時間を大幅に節約することもできます。e
  • (4) 表示フィルターを使用します。キャプチャ フィルターを使用してフィルター処理されたデータは、依然として非常に複雑であることがよくあります。フィルタリングされたデータ パケットをより詳細に表示するには、この時点で表示フィルタを使用してフィルタリングします。
  • (5) 色付けルールを使用します。通常、表示フィルタを使用してフィルタリングされたデータは有用なデータ パケットです。セッションをより目立つように強調表示したい場合は、色付けルールを使用してセッションを強調表示できます。
  • (6) チャートを作成します。ネットワーク内のデータの変化をより明確に確認したい場合は、データの分布をグラフの形式で簡単に表示できます。
  • (7) データを再編成します。より大きな画像やファイルを転送する場合、情報を複数のパケットに分散する必要があります。現時点では、データを再編成する方法を使用して完全なデータを取得する必要があります。Wireshark の再構成機能は、セッション内のさまざまなパケットからの情報を再構成したり、完全な画像やファイルを再構成したりできます。

2. Wireshark パケット キャプチャの開始

1. 共通プロトコルパッケージ

このレッスンでは主に次のプロトコル タイプを分析します。

  • ARPプロトコル
  • ICMPプロトコル
  • TCPプロトコル
  • UDPプロトコル
  • DNSプロトコル
  • HTTPプロトコル

2. マシンがパケットをキャプチャしたいネットワークを確認します。

ここに画像の説明を挿入します

  • コマンド ipconfig を入力して、対応するネットワークを見つけます。

ここに画像の説明を挿入します

3. ハイブリッドモードの概要

  • プロミスキャス モードの概要: プロミスキャス モードでは、ローカル マシンに送信されないパケット、つまり MAC アドレスが検証されないパケットも含め、ネットワーク カードを通過するすべてのデータ パケットを受信します。通常モードでは、ネットワークカードはローカルマシンに送信されたパケット(ブロードキャストパケットを含む)のみを受信して​​上位プログラムに渡し、その他のパケットは破棄されます。
  • 一般に、プロミスキャス モードはネットワーク カードの通常の動作には影響せず、主にネットワーク監視ツールで使用されます。

4. 混合モードを有効にする方法

ここに画像の説明を挿入します


3. Wiresharkフィルターの使用

1. 上記の難読化モードをオンにし、キャプチャ インターフェイスで無差別モードを使用してパケットを直接キャプチャします。

ここに画像の説明を挿入します

  • 例 1: TCP プロトコル パケットのフィルタリング
    ここに画像の説明を挿入します

  • 例 2: ACK 関連パケットをフィルタリングして除外します。SYN=1、ACK=0: クライアントはサーバーへの接続の確立を要求します。
    ここに画像の説明を挿入します

  • 例 3: 指定した条件でパッケージをキャプチャします。tcp.flags.fin == 1 FIN=1 の場合、データが送信され、接続を解放する必要があることを示します。
    ここに画像の説明を挿入します

  • 例 4: ARP パケットをフィルタリングして除外する
    ここに画像の説明を挿入します

  • 例 5: トランスポート層に属する udp パケットをフィルタリングする
    ここに画像の説明を挿入します
    フィルタを使用して「udp」と入力し、udp パケットをフィルタリングします。しかし、udp に入るとなぜこれほど多くのプロトコルが表示されるのでしょうか? その理由は、oicq と dns が udp のトランスポート層に基づいたプロトコルであるためです。

  • 拡張子: クライアントは DNS サーバーにドメイン名を問い合わせます。通常、返されるコンテンツは 512 バイトを超えず、UDP を使用して送信できます。3 ウェイ ハンドシェイクを行う必要がないため、DNS サーバーの負荷が低くなり、応答が速くなります。理論的には、クライアントは DNS サーバーにクエリを実行するときに TCP を使用するように指定することもできますが、実際には、多くの DNS サーバーは構成時に UDP クエリ パケットのみをサポートします。

  • 例 6: http リクエスト
    ここに画像の説明を挿入します

  • 例 7: DNS パケット
    ここに画像の説明を挿入します

  • 例 8: パケット条件のフィルタリング
    実際には、プロトコルの種類をフィルタリングするだけでなく、送信元アドレス、宛先アドレスなどの多くのフィルタリング条件もあります。 例 6: 送信元アドレスが 192.168.1.53 または宛先アドレスであることをフィルタリングする192.168.1.1です
    ここに画像の説明を挿入します

  • 例 9: このマシンによって送受信されるすべてのデータ パケット
    ここに画像の説明を挿入します


4.ARPプロトコル

1. Arpプロトコルの解釈

  • プロトコル分析中は、一部の干渉データ パケットの存在を回避するために難読化モードをオフにします。一般的に使用されるプロトコル分析 - ARP プロトコル (英語: Address Resolution Protocol、詳細名: AKP) は、データ リンク層のアドレスを検索するネットワークです。ネットワーク層アドレスの解析 IPv4 で非常に重要なトランスポート プロトコル。ARP はネットワーク アドレスを通じて MAC アドレスを特定します。
  • ホストがターゲット マシンに情報を送信すると、ARP 要求が LAN 上のすべてのホストにブロードキャストされ、ターゲットの物理アドレスを決定するための返信メッセージを受信します。返信メッセージの受信後、IP アドレスと物理アドレスが次の場所に保存されます。ローカル ARP キャッシュを保存し、一定期間保持します。次のリクエストでは、ARP キャッシュに直接クエリを実行してリソースを節約します。

2.ARPパケットを分析する

ここに画像の説明を挿入します


5. ICMP パケットのキャプチャと解釈

1. まずアドレスに ping を実行し、ICMP パケットを取得します。

ここに画像の説明を挿入します

2. 次に、icmp 形式のパケットをフィルタリングします。

ここに画像の説明を挿入します
ここに画像の説明を挿入します

  • 作業過程:
    • このマシンは ICMP エコー要求パケットを送信します
    • 受信側は、受信データのコピーとその他の命令を含む ICMP エコー応答を返します。

6. TCP の 3 ウェイ ハンドシェイク プロトコル

1. データ パケットをクリアし、TCP をフィルタリングしてパケットのキャプチャを開始します。

ここに画像の説明を挿入します

  • 解釈するパッケージを選択してください

ここに画像の説明を挿入します


7.手を振るとTCP接続が4回切断される

プロセスを分析しましょう。ターミナルに入力する EXIT は、実際には Kali で実行されるコマンドです。これは、SSHD のサーバー側がクライアントへの接続終了リクエストを開始することを意味します。
ここに画像の説明を挿入します

  • プロセスを分析しましょう。ターミナルに入力した EXIT は、実際には Kali で実行されるコマンドです。これは、SSHD のサーバー側がクライアントへの接続終了リクエストを開始することを意味します。
  • 最初の波:
    サーバーは [FIN+ACK] を送信し、送信するデータがないこと、切断したいことを示し、FIN_WAIT_1 状態に入ります。
  • 第 2 波:
    FIN を受信した後、クライアントはサーバーからこれ以上データが送信されないことを知り、確認のために ACK を送信します。確認シーケンス番号は、受信したシーケンス番号 + 1 (SYN と同じ、1 つの FIN を占有します) 1 つのシーケンス番号)、クライアントは CLOSE_WAIT 状態に入ります。
  • 第 3 の波:
    クライアントは送信するデータがないことを示す [FIN+ACK] を相手に送信し、LAST_ACK 状態になり、TCP セッションを直接切断し、対応するリソースを解放します。
  • 4 番目の波:
    クライアントの FIN シグナリングを受信した後、サービス クライアントは TIMED_WAIT 状態に入り、ACK
    確認メッセージを送信します。サーバーは、TIMED_WAIT 状態で一定時間待機してもデータが到着しない場合、相手が送信した ACK を受信し、正しく閉じて CLOSE 状態に入り、TCP 接続を切断してすべての接続を解放します。リソース。クライアントはサーバーから ACK 応答を受信すると、CLOSE 状態に入り、ローカル セッション インターフェイスを閉じて、対応するリソースを解放します。

データフロー統計
ここに画像の説明を挿入します


8. Wireshark でよく使用されるフィルタリング条件

1. 共通条件

  • 「eq」と「==」は同等です
  • そして
  • または、または
  • 「!」と「not」は否定されます

2. IPアドレスのフィルタリング

  • 1. 送信元アドレス: ip.src == 192.168…
  • 2. 宛先アドレス: ip.dst == 192.168.xx
  • 3. 送信元アドレスまたは宛先アドレスを調べないでください: ip.addr == 192.168.xx

3. プロトコルのフィルタリング


  • 1. 特定のプロトコルのデータ パケットの場合は、 http などのプロトコル名を直接入力します。

  • 2. tcp ではない特定のプロトコルを除外します。tcp

4. ポートフィルタリング用

  • 1. 特定のポートのデータ パケットをキャプチャします
    tcp.port == 80
    tcp.srcport == 80
    tcp.dstport == 80
  • 2. マルチポート
    udp.port >=2048をキャプチャします。

5. 長さと内容のフィルタリング

  • 1. 長さフィルタリング
    data.len > 0
    udp.lenth < 30
    http.content_lenth <= 20
  • 2. パケット コンテンツ フィルタリング
    http.request.uri は「vipscu」と一致します (http リクエストの vipscu フィールドを含むリクエスト情報と一致します)。

おすすめ

転載: blog.csdn.net/p36273/article/details/130800459