Docker 容器抓包

背景介紹

程序在運行期間出現問題時,通常會通過抓包的方式來分析、定位問題。非容器應用一般可以通過?fiddler、wireshark?等工具進行抓包,那么,運行在容器的應用一般通過什么方式進行抓包呢?

容器應用一般可以通過 tcpdump、ngrep 等兼容?Linux 的命令行工具進行抓包,如果只對 http?進行抓包,可以簡單使用?ngrep。以下將介紹如何使用?ngrep?對容器進行抓包。

案例演示

我們使用 nginx 的鏡像啟動兩個容器?http-server,http-client?分別代表服務端和客戶端,同時對服務端和客戶端進行抓包進行分析。

  • 啟動?http-server

docker?run?--name?http-server?-d?nginx:alpine

380a7c7d87ff29c79631a7b5479ff338.png

  • 啟動?http-client

docker?run?--name?http-client?--link?http-server:http-server?-d?nginx:alpine

eb8596b9987faca6c6119ab423d1cc39.png

  • 安裝?ngrep

docker?exec?-it?http-server?sh# 修改源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositoriesapk update
apk?add?ngrepdocker?exec?-it?http-client sh# 修改源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositoriesapk update
apk add ngrep

34e215b014628a25758a42d03c72c885.png

由于本文示例使用的是 alpine 的操作系統,所以上述指令只針對?alpine,其它操作系統請參考:

# ubuntu or debian
# sed -i 's|https\?://[^/]\+/|http://mirrors.aliyun.com/|' /etc/apt/sources.list
apt-get update -y
apt-get install ngrep -y#?centos 7
# wget?-O?/etc/yum.repos.d/CentOS-Base.repo?http://mirrors.aliyun.com/repo/Centos-7.repo
yum update -y
yum?install?ngrep -y
  • 啟動?ngrep

啟動 ngrep 并監聽 80 端口:

ngrep port 80

5236a08ffff5f1d2c18dfb25df3d9b28.png

  • GET 請求抓包分析

curl?http://http-server/?name=ErikXu

f35d96771edc29bc4b969f7758c10293.png

dcdb4a54a887d28c1aad72f4d91875f8.png

從上圖可以看出客戶端和服務端的抓包內容是相同的,都是 3 個包:

第一個是從客戶端(172.17.0.3:44076)發送給服務端(172.17.0.2:80)的包,請求方式為?GET,請求地址是?/?name=ErikXu。

第二個是服務端回給客戶端的包,返回狀態碼 200。

第三個也是服務端回給客戶端的包,返回 html 的內容。

  • POST 請求抓包分析

curl -X POST "http://http-server" -H  "accept: */*" -H  "Content-Type: application/json" -d "{\"name\":\"string\",\"body\":\"string\"}"

e8a445a50224e2671fe52f5a71406513.png

f35acf8d44f05f639e6e97743e1714c0.png

從上圖可以看出客戶端和服務端的抓包內容是相同的,都是 2?個包:

第一個是從客戶端(172.17.0.3:44076)發送給服務端(172.17.0.2:80)的包,請求方式為?POST,請求地址是?/,請求體內容是?{"name":"string","body":"string"}。

第二個是服務端回給客戶端的包,返回狀態碼?405 及相關提示信息。

參考總結

以上就是本文希望分享的內容,如果大家有什么問題,歡迎在公眾號 - 跬步之巔留言交流。

原創不易,覺得不錯還請一鍵三連,您的支持是我持續輸出的最大動力。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286361.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286361.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286361.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務發現與健康監測框架Consul-DNS轉發的應用

關于Consul Consul是一個提供服務注冊與發現,健康監測,Key/Value存儲以及多數據中心存儲的分布式框架。官網地址是https://www.consul.io/,公司初步應用后我們老大覺得這東西有點意思,隨即有了翻譯文檔的想法,由于精力…

【ArcGIS風暴】ArcGIS10.6圖斑橢球面積計算原理與方法

文章目錄 1. 橢球面積計算原理2. ArcGIS計算圖斑橢球面積3. ArcGIS計算圖斑投影平面面積1. 橢球面積計算原理 <

實踐 Neutron 前的兩個準備工作 - 每天5分鐘玩轉 OpenStack(78)

上一節配置了 linux-bridge mechanism driver&#xff0c;本節再做兩個準備工作&#xff1a; 1. 檢視初始的網絡狀態。2. 了解 linux bridge 環境中的各種網絡設備。 初始網絡狀態 我們首先考察實驗環境最初始的網絡狀態。隨著學習的深入&#xff0c;我們會對網絡不斷進行新的配…

《iVX 高仿美團APP制作移動端完整項目》04 美食頁 標題、搜索、商家標題制作

點擊整個專欄查看其它系列文章 &#xff08;系列文章更新中…&#xff09;&#xff1a;《iVX 高仿美團APP制作移動端完整項目》 項目界面預覽&#xff1a; 一、美食頁頂部商家頁制作 1.1 頁面主格調確認 該美食頁為首頁中美食按鈕點擊后進入的頁面。該頁面分為頂部的標題、搜…

利用瀏覽器調試功能 計算 百度網盤 文件數量

“百度網盤”程序做的比較爛&#xff0c;以百度的技術實力按說不應該如此。真正試了就知道真的不怎么樣。為了統計百度網盤的文件寫了以下腳本&#xff0c;僅供參考&#xff1a; var root "";//指定目錄&#xff0c;空取當前目錄 var totalCount 0; var startTime …

C語言試題十三之求出1到100之內能被7或者11整除,但不能同時被7和11整除的所有整書,并將他們放在a所指的數組中,通過n返回這些數的個數。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、 題目 求出1到1…

函數模板

1.函數模板的由來和概念&#xff1a;函數的重載可以實現一個函數名多用&#xff0c;將實現相同的或類似功能的函數用一個函數名來定義。這樣編程者在調用同類函數時感到含義清晰&#xff0c;方法簡單。但在程序中仍然要分別定義每一個函數&#xff0c;例如求三個數的最大值的函…

就在剛剛,HTTP/3 正式發布了!

經過了多年的努力&#xff0c;在 6 月 6 號&#xff0c;IETF &#xff08;互聯網工程任務小組&#xff09; 正式發布了 HTTP/3 的 RFC&#xff0c; 這是超文本傳輸協議&#xff08;HTTP&#xff09;的第三個主要版本&#xff0c;完整的 RFC 超過了 20000 字&#xff0c;非常詳細…

C語言試題十四之使字符串的前導*號不得多于n個;若多于n個,則刪除多于的*號;若少于或等于n個,則什么也不做。字符串中間和尾部的*號不刪除。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 請編寫函數…

通渭縣義崗川鎮之行(2020年11月19日)

2020年11月18日&#xff0c;應邀前往通渭縣義崗川鎮老家&#xff0c;經過了3個小時的自駕車程&#xff0c;夜幕降臨時刻到達了美麗的義崗川小鎮。 義崗川鎮&#xff0c;隸屬甘肅省定西市通渭縣&#xff0c;地處通渭縣城最北部&#xff0c;東南與寺子川鄉毗連&#xff0c;南鄰北…

python基礎===PEP網站,代碼規范指南

PEP 8是最古老的PEP之一&#xff0c;它向Python程序員提供了代碼格式設置指南。PEP 8的篇幅很長&#xff0c;但大都與復雜的編碼結構相關。 https://python.org/dev/peps/pep-0008/轉載于:https://www.cnblogs.com/botoo/p/7830980.html

《iVX 高仿美團APP制作移動端完整項目》05 美食頁商家推薦內容、分類、推薦商家制作

這一節我們將講解美食頁下半部分內容制作&#xff1a; 一、完善店鋪推薦 接下來繼續制作以下內容&#xff1a; 1.1 滿減信息 現在咱們在對應的商家行中添加一個行&#xff0c;命名為滿減&#xff0c;并且對應的更改高度為包裹&#xff1a; 隨后更改其背景色、字體顏色使…

利用瀏覽器調試功能 計算 百度網盤 文件數量 V2

最近需要統計百度網盤里文件的數量&#xff0c;百度網盤又沒有提供這樣的功能&#xff0c;因此之前自己寫了段腳本進行查驗&#xff0c;見《利用瀏覽器調試功能 計算 百度網盤》。之后發現每個目錄最多文件數只有1000&#xff0c;因此研究了哈百度的接口&#xff0c;重新對腳本…

Single Number II(LintCode)

Single Number II Given 3*n 1 numbers, every numbers occurs triple times except one, find it. Example Given [1,1,2,3,3,3,2,2,4,1] return 4 Challenge One-pass, constant extra space. 統計每一位上的1出現的次數&#xff0c;然后模3 &#xff0c; 題目上的3 * n 1給…

提升.NET技術水平,我是怎么做的

2022年5月10日微軟發布了NET7 Preview4,距離.NET7正式的發布也越來越近了.近幾年.NET發生了飛速的發展&#xff0c;.NET生態持續向好&#xff0c;市占率不斷提升&#xff0c;從業者也在逐漸增加。隨著.NET版本的不斷升級&#xff0c;新的用法和特性也層出不窮&#xff0c;不過同…

【ArcGIS風暴】Win10操作系統ArcGIS許可License無法啟動的解決方法匯總(絕對成功!)

文章目錄 1. 關閉Windows Defender2. 關閉系統防火墻3. 刪除邁克菲(McAfee)殺毒軟件4. 在系統服務中啟動在安裝ArcGIS軟件時,最重要的一步是許可服務的正常啟動,通常,由于各種各樣的原因,ArcGIS許可管理器License Manager十有八九會無法啟動,點N多次都沒反應,如果許可服…

Xcode 8 GM 編譯缺失 /Users/usr/lib/libresolv.9.dylib

原因是操作系統的文件與手機需要的不同。 解決辦法是將iOS DeviceSupport里當前手機版本的Symbols的libresolv.9.dylib文件&#xff0c;代替編譯失敗項目的Build Phases的Link Binary With Libraries 代替&#xff1a; 將Link Binary With Libraries里原來的libresolv.9.dylib刪…

《iVX 高仿美團APP制作移動端完整項目》06 美食頁商家推薦內容、分類、推薦商家制作

接下來開始制作超市便利頁面&#xff1a; 一、標題 首先&#xff0c;我們創建一個頁面&#xff0c;該頁面設置背景顏色為黃色&#xff1a; 隨后歐創建一個行&#xff0c;命名為主要&#xff0c;之后將會在這個主要行之中添加對應的模塊內容&#xff1a; 該主要行&#xff…

統計百度網盤文件個數 V3

繼續優化/******************** *百度文件數量統計 V3 *2018.06.18 *Jackie ********************//************ *百度查詢接口 http://pan.baidu.com/api/list? dir //查詢目錄 &num100000 //分頁大小 最大支持99999999999999 默認1000 &page1 //頁碼 &…

C語言試題十五之編寫函數void function(int x,int pp[],int *n),求出能整除x且不是偶數的各整數,并按從小到大的順序放在pp所指的數組中,這些除數的個數通過形參n返回

?作者簡介:大家好我是碼莎拉蒂,CSDN、華為云、阿里云、51CTO博客專家?????? ??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 1、 題目 請編寫函數void function(int x,int pp[]…