Узнайте, какой сетевой интерфейс принадлежит контейнеру docker

Docker создает эти виртуальные интерфейсы ethernet veth[UNIQUE ID] перечислены в ifconfig. Как узнать, какой интерфейс принадлежит конкретному контейнеру docker?

Я хочу слушать трафик tcp.

1 ответов


найти интерфейс
В моем случае получение значения из контейнера было похоже (check eth0 to):

$ docker exec -it my-container cat /sys/class/net/eth1/iflink
123

и затем:

$ ip ad | grep 123
123: vethd3234u4@if122: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker_gwbridge state UP group default

чека с tcpdump -i vethd3234u4


справка о таинственном iflink от http://lxr.free-electrons.com/source/Documentation/ABI/testing/sysfs-class-net:

150 What:           /sys/class/net/<iface>/iflink
151 Date:           April 2005
152 KernelVersion:  2.6.12
153 Contact:        netdev@vger.kernel.org
154 Description:
155                 Indicates the system-wide interface unique index identifier a
156                 the interface is linked to. Format is decimal. This attribute is
157                 used to resolve interfaces chaining, linking and stacking.
158                 Physical interfaces have the same 'ifindex' and 'iflink' values.