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

PHPz
リリース: 2023-04-11 09:25:57
オリジナル
1565 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート