背景
下記の記事を参考にDockerコンテナでtcpdumpしようと思ったのですが、Raspberry piでやろうと思ったのでなるべく軽いAlpine Linuxをベースに変えてみました。
A Docker Container To Capture All Traffic From Host.
Dockerfile
元記事のFROMとapt-getを変更するだけです。
FROM alpine
RUN apk update && apk add tcpdump
RUN mkdir /pcap
RUN cd /pcap
WORKDIR /pcap
CMD tcpdump -G 900 -w '%Y-%m-%d_%H:%M:%S.pcap' -W 96
buildしたところ。115MBだったものが6MBと物凄く軽くなりました。
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine-tcpdump latest f454eac0b1be 8 minutes ago 5.97MB
tcpdump latest 3687337e2f4a 24 minutes ago 115MB
ビルドと実行
メモ程度にビルドと実行についても記載しておきます。
ポイントは「--net=host」で、これによってホスト側のネットワークインターフェースをdockerにアタッチしています。
sudo docker build -t alpine-tcpdump .
sudo docker run -v ~/pcap:/pcap --net=host -d alpine-tcpdump
上記で実行するとホスト側の~/pcapに日付付きで.pcapファイルが保存されていきます。