gpt4 book ai didi

docker - 如何将实时 pcap 记录从 Kubernetes pod 传输到本地运行的 Wireshark?

转载 作者:行者123 更新时间:2023-12-02 11:36:21 25 4
gpt4 key购买 nike

我正尝试在 Wireshark 中查看我的一个 Kubernetes pod 中的实时网络流量。在普通的旧 Docker 中,我能够运行这个:

docker run --rm --net=container:app_service_1 crccheck/tcpdump -i any --immediate-mode -w - | wireshark -k -i -

这将启动一个简单的容器,运行 tcpdump 并显示参数,并将 pcap 格式的数据包捕获通过管道传输到 stdout(-w - 参数)。然后将此输出通过管道传输到在我的主机上运行的 Wireshark,它会在数据包到达时显示它们。

如何在 Kubernetes 中做类似的事情?

我试过如下打补丁:

  template:
spec:
containers:
- name: tcpdumper
image: crccheck/tcpdump
args: ["-i", "any", "--immediate-mode", "-w", "-"]
tty: true
stdin: true

我通过运行 k attach -it app-service-7bdb7798c5-2lr6q | 应用它wireshark -k -i -

但这似乎行不通; Wireshark 启动但立即显示错误:

写入管道的数据既不是受支持的 pcap 格式也不是 pcapng 格式

最佳答案

我没有经常使用 k8s,但是 docker run 得到了整个干净的标准输出,而我的印象是 k attach 没有。

我不认为 kubectl 具有与 docker run 等效的功能,它可以为您提供干净的标准输出,但您可以使用 kubectl exec 做一些事情。

一个可能的测试是将输出重定向到一个文件,并查看它是否是您正在运行的命令的有效输出,并且那里没有任何意外。

关于docker - 如何将实时 pcap 记录从 Kubernetes pod 传输到本地运行的 Wireshark?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62333136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com