首页 > 解决方案 > 可以从 dockerized Tshark 扫描网络吗?

问题描述

这可能是一个非常愚蠢的问题,如果是这样,请原谅我;)我想知道是否真的可以从 dockerized 容器扫描我自己的笔记本电脑所连接的网络?我正在从我的 docker 容器中运行 Tshark,但是经过的唯一包看起来像这样:

Capturing on 'eth0'
  1 0.000000000 fe80::cc97:7fff:fe93:48f -> ff02::2      ICMPv6 70 Router Solicitation from ce:97:7f:93:04:8f
  2 8.928523400 fe80::cc97:7fff:fe93:48f -> ff02::2      ICMPv6 70 Router Solicitation from ce:97:7f:93:04:8f
  3 25.565048800 fe80::cc97:7fff:fe93:48f -> ff02::2      ICMPv6 70 Router Solicitation from ce:97:7f:93:04:8f
  4 57.528334500 fe80::cc97:7fff:fe93:48f -> ff02::2      ICMPv6 70 Router Solicitation from ce:97:7f:93:04:8f
  5 122.088671000 fe80::cc97:7fff:fe93:48f -> ff02::2      ICMPv6 70 Router Solicitation from ce:97:7f:93:04:8f

我没有收到更多的包,即使我没有指定任何接口,它也会自动尝试从 eth0 捕获,从而给出上述结果。顺便说一句,我的笔记本电脑本身已连接到互联网。

而且由于我知道如果我想访问 Web 界面(例如在端口 5000 上的容器中运行)我需要公开特定端口,我想知道 Tshark 是否仅在我公开大多数端口时才有效......

标签: macosdockerwireshark

解决方案


我会将其发布为答案,因为我认为这将尽可能接近。似乎有人为这个问题写了一个解决方案:https ://jerrygamblin.com/2016/05/28/a-docker-container-to-capture-all-traffic-from-host/

上述解决方案的唯一问题是--net=host(主机网络模式)在 OSX 上似乎不能正常工作:是否有一种解决方法可以在 Docker for Mac 中使用主机网络?. 因此,最好的解决方案可能是在本地运行 pyshark 和 tshark,并将所有捕获的流量推送到 docker 实例,我将在其中存储和处理它。

或者也许只是使用在 debian 或类似设备上运行的设备,它对主机网络模式没有任何问题。


推荐阅读