docker-compose實現(xiàn)wireshark對linux主機進行抓包
起因
最近部門搭建的harbor鏡像倉庫因為更改ip地址,導(dǎo)致使用 docker pull 命令時,發(fā)生錯誤,如下:
# docker pull 10.1.27.89:9000/vappserver/test-image:1.0 Error response from daemon: Head "http://10.1.27.89:9000/v2/vappserver/test-image/manifests/1.0": Get "http://10.1.27.240:9000/service/token?account=admin&scope=repository%3Avappserver%2Ftest-image%3Apull&service=harbor-registry": dial tcp 10.1.27.240:9000: connect: no route to host
仔細看錯誤提示,我們訪問的是“10.1.27.89:9000”,緣何卻訪問了“http://10.1.27.240:9000/service/token”?而這里的 “10.1.27.240”剛好就是harbor的舊ip地址。
由于不了解docker pull命令背后的執(zhí)行過程、以及和harbor倉庫之間的通訊協(xié)議究竟是什么(http協(xié)議嗎?)所以想要嘗試通過抓包方式查看下docker pull命令的執(zhí)行過程、以及為什么訪問了舊的ip?
網(wǎng)上檢索一番,發(fā)現(xiàn)有開源的rpcapd程序,可以結(jié)合wireshark的“遠程接口”功能,在windows環(huán)境的wireshark中監(jiān)聽linux主機的網(wǎng)絡(luò)通訊。
網(wǎng)上內(nèi)容基本都需要源碼下載、本地編譯。按照慣例,先查docker鏡像,果然有現(xiàn)成可用的。
以下做一下記錄備忘。
docker-compose配置
version: '3.3'
services:
wireshark-rpcapd:
# 參考:https://github.com/rpcapd-linux/rpcapd-linux
image: soveren/rpcapd:v0.1.3
# 直接使用主機的網(wǎng)絡(luò),所以不再需要端口映射
network_mode: host
command:
- /bin/rpcapd
# 僅僅使用ipv4
- "-4"
# 不限制客戶端連接 (否則可以限定wireshark所在的ip才能連接)
- -n
# 監(jiān)聽的端口,在wireshark中,使用ip+此處的端口連接rpcapd
- "-p 2002"wireshark的配置
在wireshark中,選擇捕獲-選項,繼續(xù)選擇“管理接口”,我們添加上遠程接口,其中ip為linux主機ip,端口即docker-compose文件中command部分配置的端口,例如“2002”
由于在linux主機中啟動了多個docker容器,創(chuàng)建了多個虛擬網(wǎng)絡(luò)接口,所以接下來對網(wǎng)絡(luò)接口的掃描稍慢。稍等片刻,我們在自動列出的網(wǎng)絡(luò)接口中,選擇有用的接口,如主機的網(wǎng)絡(luò)接口(例如名字ens33)、主機的環(huán)回地址接口(即127.0.0.1,名字是lo或者loopback),把剩余網(wǎng)絡(luò)接口前面的勾選項去掉即可。
最終如下:

然后就可以繼續(xù)愉快的玩耍了!
以上就是docker-compose實現(xiàn)wireshark對linux主機進行抓包的詳細內(nèi)容,更多關(guān)于wireshark抓包linux主機的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用rpm安裝指定版本docker(1.12.6)的詳細步驟
為了防止安裝高版本的docker引發(fā)的錯誤,需要安裝1.12.6版本的docker,下面小編給大家?guī)砹耸褂胷pm安裝指定版本的docker(1.12.6)的步驟,感興趣的朋友一起看看吧2021-08-08
在CentOS 7上安裝Docker環(huán)境的方法與注意事項
這篇文章主要介紹了在CentOS 7上安裝Docker環(huán)境的方法與注意事項,需要的朋友可以參考下2016-10-10
Linux Docker運行springboot項目的步驟詳解
這篇文章主要介紹了Linux Docker運行springboot項目的步驟詳解,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
如何解決報錯unable to remove volume問題
這篇文章主要介紹了如何解決報錯unable to remove volume問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
docke-cli的調(diào)試環(huán)境搭建過程
在搭建docker-cli的調(diào)試環(huán)境時,遇到很多坑,通過本文講解下搭建docke-cli的調(diào)試環(huán)境的詳細方法,需要的朋友可以參考下2022-11-11

