【AKS】实验在Azure K8S上的Pod中抓取 TCP 数据包 - LuBu0505/My-Code GitHub Wiki
根据官方文档(从 AKS 群集上的 Pod 捕获 TCP 数据包: https://learn.microsoft.com/zh-cn/troubleshoot/azure/azure-kubernetes/logs/packet-capture-pod-level)的内容,本文将实验如何从AKS Pod中下载网络数据包。
- 运行
kubectl get pods -A
以查看 AKS 群集上的 Pod 列表。 - 运行 kubectl exec -it -- /bin/bash 连接到Pod
- 运行
tcpdump --version
以确定是否安装了 TCPdump - 如果没有,运行 apt-get update && apt-get install tcpdump 安装
- 运行
tcpdump -s 0 -vvv -w /capture.cap
以开始捕获 Pod 上的 TCP 数据包- 如果以上步骤遇见”tcpdump: /capture.cap: Permission denied“问题,可以把 /capture的路径修改到/var/tmp目录下。
- 数据包捕获完成后,退出 Pod shell 会话
- 运行 kubectl cp ://capture.cap capture.cap 将网络数据包保存到本地
- 如果在cp时候,遇见错误“tar: removing leading '/' from member names,可以使用 kubectl exec -- cat /var/tmp/capture.cap > mylocalcapture.cap 来实现
- 如果在cp时候,遇见错误“tar: removing leading '/' from member names,可以使用 kubectl exec -- cat /var/tmp/capture.cap > mylocalcapture.cap 来实现
kubectl get pods
kubectl exec <pod name> -it -- /bin/bash
tcpdump --version
kubectl cp <pod name>:/<your path>/capture.cap capture.cap
# Ctrl + C
kubectl exec <Pod Name> -- cat /var/tmp/capture.cap > mylocalcapture.cap
从 AKS 群集上的 Pod 捕获 TCP 数据包: https://learn.microsoft.com/zh-cn/troubleshoot/azure/azure-kubernetes/logs/packet-capture-pod-level
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!