So erfassen Sie die eingehenden und ausgehenden Nachrichten eines Docker-Containers

PHPz
Freigeben: 2023-04-11 09:25:57
Original
1572 Leute haben es durchsucht

Docker ist eine Containerisierungstechnologie, mit der Anwendungen schnell bereitgestellt und ausgeführt werden können. Während des tatsächlichen Betriebs müssen wir jedoch manchmal die eingehenden und ausgehenden Nachrichten des Docker-Containers verstehen, um den Container besser überwachen und verwalten zu können.

In diesem Artikel erfahren Sie, wie Sie die eingehenden und ausgehenden Pakete des Docker-Containers erfassen, einschließlich der Verwendung von tcpdump und Wireshark zum Erfassen von Paketen.

1. Verwenden Sie tcpdump, um Pakete zu erfassen tcpdump installieren:

sudo apt-get install tcpdump
Nach dem Login kopieren
  1. Finden Sie die ID des Zielcontainers

Verwenden Sie den folgenden Befehl, um die laufende Container-ID zu erhalten:

docker ps
Nach dem Login kopieren
    # 🎜🎜#Betreten Sie den Container
Verwenden Sie den folgenden Befehl, um die Shell-Umgebung des Containers aufzurufen:

docker exec -it <ContainerID> /bin/bash
Nach dem Login kopieren
Darunter <ContainerID> ist das Ziel. Die ID des Containers.
  1. Paket erfassen

Führen Sie den folgenden Befehl im Container aus, um eingehende und ausgehende Pakete zu erfassen:

tcpdump -i any -s 0 -w /tmp/docker.pcap
Nach dem Login kopieren
<ContainerID> 为目标容器的 ID。
  1. 抓包

在容器内执行以下命令抓取进出报文:

exit
Nach dem Login kopieren

其中,-i any 表示监听所有网卡,-s 0 表示抓取所有数据包,-w 参数指定将抓取的报文写入指定文件中。在上述命令中,我们将进出报文写入 /tmp/docker.pcap 文件中。

  1. 退出容器

在容器内执行以下命令退出容器:

docker cp <ContainerID>:/tmp/docker.pcap .
Nach dem Login kopieren
  1. 复制 pcap 文件到本地

使用以下命令将容器中的 /tmp/docker.pcap 文件复制到本地:

sudo apt-get install wireshark
Nach dem Login kopieren

其中,<ContainerID> 为目标容器的 ID。

  1. 查看报文

使用 Wireshark 打开 docker.pcap 文件,即可查看容器的进出报文。

二、使用 Wireshark 抓包

  1. 安装 Wireshark

在 Linux 系统中使用以下命令安装 Wireshark:

docker inspect <ContainerID> | grep IPAddress
Nach dem Login kopieren
  1. 找到目标容器的 IP 地址

使用以下命令获取正在运行的容器 IP 地址:

sudo wireshark
Nach dem Login kopieren

其中,<ContainerID> 为目标容器的 ID。

  1. 运行 Wireshark

在终端中输入以下命令启动 Wireshark:

ip.addr == <ContainerIP>
Nach dem Login kopieren

进入 Wireshark 界面后,选择需要监听的网卡,然后输入下面的过滤器:

rrreee

其中,<ContainerIP>Among Für sie bedeutet -i any die Überwachung aller Netzwerkkarten, -s 0 bedeutet die Erfassung aller Datenpakete und der Parameter -w gibt an Schreiben Sie die erfassten Pakete in die angegebene Datei. Im obigen Befehl schreiben wir die ein- und ausgehenden Pakete in die Datei /tmp/docker.pcap.

  1. Container verlassen

Führen Sie den folgenden Befehl im Container aus, um den Container zu verlassen:

rrreee
    #🎜 🎜#PCAP-Datei nach lokal kopieren
    1. Verwenden Sie den folgenden Befehl, um die Datei /tmp/docker.pcap im Container nach lokal zu kopieren:
    rrreee#🎜 🎜#Wobei <ContainerID> die ID des Zielcontainers ist.

      Nachrichten anzeigen

      #🎜🎜#Verwenden Sie Wireshark, um die Datei docker.pcap zu öffnen und die eingehenden und ausgehenden Nachrichten des Containers anzuzeigen. #🎜🎜##🎜🎜# 2. Verwenden Sie Wireshark, um Pakete zu erfassen.#🎜🎜##🎜🎜##🎜🎜#Wireshark installieren System: #🎜🎜#rrreee#🎜🎜##🎜🎜#Finden Sie die IP-Adresse des Zielcontainers #🎜🎜##🎜🎜##🎜🎜#Verwenden Sie den folgenden Befehl, um die IP-Adresse des laufenden Containers abzurufen: # 🎜🎜#rrreee#🎜🎜 #Unter diesen ist <ContainerID> die ID des Zielcontainers. #🎜🎜##🎜🎜##🎜🎜#Run Wireshark#🎜🎜##🎜🎜##🎜🎜#Geben Sie den folgenden Befehl in das Terminal ein, um Wireshark zu starten: #🎜🎜#rrreee#🎜🎜#Nach dem Aufrufen von Wireshark Schnittstelle, wählen Sie die Netzwerkkarte aus, die überwacht werden muss, und geben Sie dann den folgenden Filter ein: #🎜🎜#rrreee#🎜🎜# Darunter ist <ContainerIP> die IP-Adresse des Zielcontainers . #🎜🎜##🎜🎜##🎜🎜#Paket erfassen#🎜🎜##🎜🎜##🎜🎜#Starten Sie die Erfassung der eingehenden und ausgehenden Pakete des Containers und klicken Sie in Wireshark auf die Schaltfläche „Erfassung starten“. #🎜🎜##🎜🎜##🎜🎜#Nachrichten anzeigen #🎜🎜##🎜🎜##🎜🎜#Sie können die eingehenden und ausgehenden Nachrichten des Containers in Wireshark anzeigen. #🎜🎜##🎜🎜#In diesem Artikel wird erläutert, wie Sie mit tcpdump und Wireshark die eingehenden und ausgehenden Nachrichten von Docker-Containern erfassen, was uns dabei helfen kann, Docker-Container besser zu überwachen und zu verwalten. Gleichzeitig ist zu beachten, dass die Paketerfassung gewisse Risiken birgt und mit Vorsicht eingesetzt werden sollte. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo erfassen Sie die eingehenden und ausgehenden Nachrichten eines Docker-Containers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage