ホームページ  >  記事  >  運用・保守  >  Dockerコンテナの送受信メッセージをキャプチャする方法

Dockerコンテナの送受信メッセージをキャプチャする方法

PHPz
PHPzオリジナル
2023-04-11 09:09:011558ブラウズ

Docker は、アプリケーションを迅速にデプロイして実行するために使用できるコンテナ化テクノロジです。ただし、実際の運用中、コンテナをより適切に監視および管理するために、Docker コンテナの送受信メッセージを理解する必要がある場合があります。

この記事では、tcpdump と Wireshark を使用したパケットのキャプチャなど、Docker コンテナの送受信パケットをキャプチャする方法を紹介します。

1. tcpdump を使用してパケットをキャプチャする

  1. tcpdump をインストールする

Linux システムで、次のコマンドを使用して tcpdump をインストールします:

sudo apt-get install tcpdump
  1. ターゲット コンテナの ID を検索します。

次のコマンドを使用して、実行中のコンテナ ID を取得します。

docker ps
  1. コンテナを入力します

次のコマンドを使用して、コンテナのシェル環境を入力します:

docker exec -it <ContainerID> /bin/bash

ここで、<ContainerID> はターゲット コンテナの ID です。

  1. パケットのキャプチャ

コンテナ内で次のコマンドを実行して、受信パケットと送信パケットをキャプチャします:

tcpdump -i any -s 0 -w /tmp/docker.pcap

その中に、-i any はすべてのネットワーク カードを監視することを意味し、-s 0 はすべてのデータ パケットをキャプチャすることを意味し、-w パラメータはキャプチャされたパケットを指定されたファイルに書き込むことを指定します。上記のコマンドでは、受信パケットと送信パケットを /tmp/docker.pcap ファイルに書き込みます。

  1. コンテナを終了します

コンテナ内で次のコマンドを実行してコンテナを終了します:

exit
  1. pcap ファイルをローカルにコピーします。

次のコマンドを使用して、コンテナ内の /tmp/docker.pcap ファイルをローカルにコピーします。

docker cp <ContainerID>:/tmp/docker.pcap .

ここで、<ContainerID> は、ターゲットコンテナのID。

  1. メッセージの表示

Wireshark を使用して docker.pcap ファイルを開き、コンテナーの受信メッセージと送信メッセージを表示します。

2. Wireshark を使用してパケットをキャプチャする

  1. Wireshark のインストール

Linux システムで、次のコマンドを使用して Wireshark をインストールします:

sudo apt-get install wireshark
  1. ターゲット コンテナの IP アドレスを確認します

次のコマンドを使用して、実行中のコンテナの IP アドレスを取得します。

docker inspect <ContainerID> | grep IPAddress

その中に、 <ContainerID> はターゲットのコンテナ ID です。

  1. Wireshark の実行

ターミナルに次のコマンドを入力して Wireshark を起動します:

sudo wireshark

Wireshark インターフェイスに入ったら、必要なネットワーク カードを選択します。

ip.addr == <ContainerIP>

このうち、<ContainerIP> は対象コンテナの IP アドレスです。

  1. パケット キャプチャ

コンテナの送受信パケットのキャプチャを開始し、Wireshark の [キャプチャの開始] ボタンをクリックします。

  1. メッセージの表示

Wireshark でコンテナの受信メッセージと送信メッセージを表示できます。

この記事では、tcpdump と Wireshark を使用して Docker コンテナの送受信メッセージをキャプチャする方法を紹介します。これは、Docker コンテナの監視と管理を向上させるのに役立ちます。同時に、パケット キャプチャには特定のリスクが伴う可能性があるため、慎重に使用する必要があることに注意してください。

以上がDockerコンテナの送受信メッセージをキャプチャする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。