摘要:由于出于簡(jiǎn)單可維護(hù)的目的,這個(gè)容器的基礎(chǔ)鏡像里面沒有帶上任何和網(wǎng)絡(luò)抓包相關(guān)的功能。這就為網(wǎng)絡(luò)抓包提供了基礎(chǔ)。抓包實(shí)踐我們現(xiàn)在用一個(gè)提供簡(jiǎn)單服務(wù)的鏡像來進(jìn)行測(cè)試。
背景
假設(shè)存在一個(gè)容器,提供的服務(wù)是 HTTP 或者 RPC 的服務(wù)。由于出于簡(jiǎn)單可維護(hù)的目的,這個(gè)容器的基礎(chǔ)鏡像里面沒有帶上任何和網(wǎng)絡(luò)抓包相關(guān)的功能。那么如何能搞對(duì)這樣的容器進(jìn)行抓包,以分析業(yè)務(wù)上面可能存在的問題呢?
共享網(wǎng)絡(luò)Docker 的容器之間可以通過共享網(wǎng)絡(luò)空間的方式,來讓多個(gè)容器實(shí)現(xiàn)網(wǎng)絡(luò)互通。這個(gè)意思直接一點(diǎn)就是如果你到每個(gè)容器內(nèi)部去訪問 localhost 監(jiān)聽的服務(wù),無論這個(gè)服務(wù)在哪個(gè)容器里面,都能夠訪問成功。這就為網(wǎng)絡(luò)抓包提供了基礎(chǔ)。
專用鏡像我們可以使用一個(gè)專用的 tcpdump 的鏡像來進(jìn)行抓包。鏡像名稱為 corfr/tcpdump:latest ,可以使用 docker pull 直接下載。
$ docker pull corfr/tcpdump:latest抓包實(shí)踐
我們現(xiàn)在用一個(gè)提供簡(jiǎn)單 HTTP 服務(wù)的鏡像來進(jìn)行測(cè)試。
下載測(cè)試鏡像
$ docker pull jemygraw/echo-go:1.0
啟動(dòng)測(cè)試容器
$ docker run -p 8080:8080 jemygraw/echo-go:1.0 /home/app/echo-go -port 8080
查看測(cè)試容器ID
$ docker ps 5de30e950459 jemygraw/echo-go:1.0 "/home/app/echo-go -…" 10 minutes ago Up 10 minutes 0.0.0.0:8080->8080/tcp dreamy_benz
啟動(dòng)抓包鏡像,注意使用 --network 參數(shù)來共享測(cè)試容器的網(wǎng)絡(luò)。
$ docker run --network container:5de30e950459 corfr/tcpdump:latest -i any -U -w -
由于 corfr/tcpdump:latest 鏡像構(gòu)建的時(shí)候使用了 ENTRYPOINT 指定了入口命令為 /usr/sbin/tcpdump ,所以這里我們指定命令的選項(xiàng)參數(shù)即可。
這個(gè)時(shí)候我們可以嘗試訪問 http://localhost:8080/ 就能夠在抓包容器的輸出中看到抓包結(jié)果了。
真實(shí)案例Kubernetes 的插件命令 sniff 就是使用了上面的技術(shù)來實(shí)現(xiàn)特權(quán)模式下通過旁觀的抓包容器共享目標(biāo)容器的網(wǎng)絡(luò)來實(shí)現(xiàn)抓包的。該項(xiàng)目地址在:https://github.com/eldadru/ksniff ,有興趣可以研究。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/32993.html
摘要:哈,這是在寫的第一篇博客文章,祝好技術(shù)安全前端互聯(lián)網(wǎng)二次開發(fā)今天瘋了般地弄了數(shù)據(jù)鏈路層分析應(yīng)用層網(wǎng)站流量導(dǎo)向分析有關(guān)的東東先來說說這個(gè)數(shù)據(jù)鏈接層的分析,限于篇幅和類型,明天再寫第二篇。拼接若干次還是返回,那還是抓包分析吧。 哈,這是在segmentFault寫的第一篇博客文章,祝好! tags: 技術(shù), wordpress, DIY, SEO, 安全, 前端, 互聯(lián)網(wǎng), 二次開發(fā) 今...
摘要:哈,這是在寫的第一篇博客文章,祝好技術(shù)安全前端互聯(lián)網(wǎng)二次開發(fā)今天瘋了般地弄了數(shù)據(jù)鏈路層分析應(yīng)用層網(wǎng)站流量導(dǎo)向分析有關(guān)的東東先來說說這個(gè)數(shù)據(jù)鏈接層的分析,限于篇幅和類型,明天再寫第二篇。拼接若干次還是返回,那還是抓包分析吧。 哈,這是在segmentFault寫的第一篇博客文章,祝好! tags: 技術(shù), wordpress, DIY, SEO, 安全, 前端, 互聯(lián)網(wǎng), 二次開發(fā) 今...
閱讀 3953·2021-11-16 11:44
閱讀 3132·2021-11-12 10:36
閱讀 3385·2021-10-08 10:04
閱讀 1273·2021-09-03 10:29
閱讀 413·2019-08-30 13:50
閱讀 2626·2019-08-29 17:14
閱讀 1747·2019-08-29 15:32
閱讀 1092·2019-08-29 11:27