docker - 使用 pcap 监控 15-30 个接口的成本是多少?
问题描述
在一个标准配置中使用 docker 网络,每个容器都有自己的虚拟 NIC。
我有兴趣同时监控所有这些,抓取 IP src 和 dst 地址以及 TCP 或 UDP src 和 dst 端口(如果适用)。
这样做的成本可能有多大?
有什么方法可以做我想要的,即在桥接模式下仅监视 docker 桥接接口?
在 Kubernetes 中处理多个通过 flannel 相互通信的 docker 网络时,我发现很多 src 和 dst IP 地址只是桥地址。(大概是网桥做了 NAT,但由于某种原因,我在 iptables -t nat -L 下没有看到翻译规则)
解决方案
这是相当大的。如果您在容器内执行 pcap,您的应用程序可能会遇到 2-3 倍的 CPU 计算开销。但实际上,这完全取决于您如何捕获,您的表情是否捕获了每个数据包?您的应用程序是否有大量流量?
这里的另一个问题提供了更多见解:tcpdump 的侵入性如何?
正如您已经提到的,如果您仅在桥接接口上捕获,您可能已经看到了翻译/伪装的地址。
推荐阅读
- angular - 当我调用 this.users 时无法读取未定义的属性“推送”
- c# - 指向 Xamarin.iOS NSMutableArray 的双指针在 Objective C 层中变为空
- javascript - 如何使用 javascript 查找子页面元素
- css - 使用带有动态文本的 CSS 动画延迟(闪烁)
- ionic-framework - 是否可以在应用程序使用 ionic deploy 下载和更新最新代码时显示消息?
- python - 使用 Robot Framework 中的内置函数在自定义关键字中预期错误
- json - 如何检索特定键的递归路径(不显示父母的键名,而是显示每个父母的不同键的值)
- powershell - Powershell修改大型SQL文件
- vba - 在“备注”字段中查找关键字并根据结果过滤名称列表框
- ios - CoreStore 通过 transaction.edit 删除对象来更新关系不起作用