四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

01概述

無論是開發(fā)還是測試,在工作中經(jīng)常會遇到需要抓包的時候。本篇文章主要介紹如何在各個平臺下,高效的抓包。

目前的抓包軟件總體可以分為兩類:

  • 一種是設(shè)置代理抓取http包,比如charles、mitmproxy這些軟件。
  • 另一種是直接抓取經(jīng)過網(wǎng)卡的所有協(xié)議包,其中最出名就是大名鼎鼎的Wireshark以及l(fā)inux自帶的抓包軟件tcpdump

下面重點(diǎn)介紹一下這四個抓包工具的特點(diǎn)以及使用。

02wireshark

wireshark想必大多數(shù)程序員都不會陌生。wireshark在各個平臺都可以安裝使用,它可以抓取經(jīng)過指定網(wǎng)卡的所有協(xié)議。wireshark雖然很強(qiáng)大,但是對初學(xué)者其實(shí)不是很友好。

這也正是由于它太強(qiáng)大,它可以抓取所有包,所以初學(xué)者在使用時面對茫茫數(shù)據(jù)流不知所措。初學(xué)者需要認(rèn)真的去學(xué)習(xí)怎么過濾得到自己感興趣的包,但是如果不熟悉wireshark的過濾語法,要過濾數(shù)據(jù)包將舉步維艱。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

過濾語法簡單介紹

wireshark的過濾語法總結(jié)起來其實(shí)也很簡單,就是以協(xié)議開頭,后面可以跟著協(xié)議的屬性,然后加上一些判斷符號,比如contains、==、>、<等等。比如只想展示http的協(xié)議內(nèi)容,則直接在過濾器輸入框中輸入http即可。

如下圖:

比如我只想看http協(xié)議的請求頭中uri包含’/api’的協(xié)議,就可以這么寫:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

如果想通過目標(biāo)ip或者來源ip來過濾包,就不可以以http協(xié)議為前綴了,因?yàn)檫@些是ip協(xié)議的相關(guān)屬性。通過目標(biāo)ip來過濾可以這么寫:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

上面表示目標(biāo)機(jī)器的ip是61.135.217.100并且協(xié)議是http的包。

wireshark支持很多種協(xié)議,我們可以通過右上角的expression來打開搜索支持的協(xié)議,還可以找出協(xié)議支持的屬性,然后填入期待的值,軟件會自動為我們構(gòu)建過濾語句。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

優(yōu)點(diǎn):

  • 功能強(qiáng)大,可以抓取所有協(xié)議的包
  • 抓到的包容易分析

缺點(diǎn):

  • 由于線上服務(wù)器沒有GUI,只有命令行,因此無法在線上服務(wù)器使用
  • 無法分析https數(shù)據(jù)包,由于wireshark是在鏈路層獲取的數(shù)據(jù)包信息,所以獲取到的https包是加密后的數(shù)據(jù),因此無法分析包內(nèi)容。當(dāng)然,我們可以對https數(shù)據(jù)包進(jìn)行解密, 但是操作具有一定的復(fù)雜度,可能要消耗很多時間。

03Tcpdump

tcpdump是linux上自帶的一個抓包軟件(mac也有),功能強(qiáng)大,也可以抓取經(jīng)過指定網(wǎng)卡的所有協(xié)議包。

由于是命令行工具,tcpdump抓取到的包不易于分析,一個常見的做法是將tcpdump抓到的包輸出到某個文件,然后將文件拷貝下來用wireshark分析。

一些簡單的過濾參數(shù):

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

抓包內(nèi)容輸出到文件:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

之后我們可以把test.cap直接用wireshark打開,就可以很直觀的分析包了。

用tcpdump輸出cap文件包:

tcpdump-r test.cap

04Charles

Charles是一款http抓包工具,它是通過代理來實(shí)現(xiàn)的抓包。也就是我們在訪問網(wǎng)頁時需要配置代理,將代理指向Charles監(jiān)聽的端口,之后我們的http請求都會發(fā)向Charles的端口,之后Charles會幫我們轉(zhuǎn)發(fā)并記錄協(xié)議內(nèi)容。

Charles的使用非常簡單,配置好代理后,Charles就開始抓包了。

我們可以直接通過Charles的GUi查看包的內(nèi)容:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

上圖中的unknown表示https加密后的數(shù)據(jù),所以看到不協(xié)議的具體內(nèi)容。我們可以通過安裝Charles的證書,讓Charles也可以查看https協(xié)議的具體內(nèi)容。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

優(yōu)點(diǎn)

  • 使用簡單,只需配置一下代理地址就可以
  • 要抓取https協(xié)議的配置也很簡單,只要安裝下charles的證書就可以了

05mitmproxy

mitmproxy是python寫的一款http抓包工具,雖然只支持http抓包,但是它的特性非常強(qiáng)大,它不僅可以抓包,還可以對請求進(jìn)行攔截、重現(xiàn)等操作。和Charles一樣,它的原理也是基于代理,使用的時候需要設(shè)置代理指向它。

mitmproxy是命令行工具,但是也自帶了mitmweb工具,可以讓用戶在網(wǎng)頁上操作。另外,mitmproxy還支持用戶自行編寫插件,可以編寫腳本對請求進(jìn)行處理,然后把修改后的請求發(fā)出去。

1、安裝

首先需要在機(jī)器安裝python3以及pip3.之后通過pip3安裝

pip3 install mitmproxy

如果安裝mitmproxy過程中報錯ModuleNotFoundError: No module named '_ssl',就需要安裝一下openSSL,然后再重新編譯安裝一下python3。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

安裝好openSSL后再執(zhí)行pip3 install mitmproxy

2、使用

安裝后,直接在命令行輸入mitmproxy就會進(jìn)入它的交互界面:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

這時候mitmproxy已經(jīng)開始監(jiān)聽8080端口(默認(rèn)),接著,我們可以去瀏覽器設(shè)置代理。瀏覽器設(shè)置代理的方式有很多,這里不多做介紹。

設(shè)置完代理后,訪問瀏覽器的請求都會被發(fā)到mitmproxy上,mitmproxy根據(jù)規(guī)則對請求進(jìn)行攔截(不配置攔截規(guī)則的話則都不攔截),所有經(jīng)過的請求都會被輸出:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

在交互界面上可以通過快捷鍵操作請求。輸入問號’?’,可以查看快捷鍵的文檔。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

3、下面介紹一些常用的快捷鍵和功能

① 請求過濾

在請求列表交互界面,按下f鍵后,可以輸入一些過濾規(guī)則:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

具體的過濾語法可以按下’?‘鍵后,再按下方向鍵右’—>’或者l鍵。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

②請求攔截

按下i鍵后,可以對指定的請求進(jìn)行攔截。按mitmproxy收到指定條件的請求時,不會立馬把它轉(zhuǎn)發(fā)出去,而是等待我們執(zhí)行resume操作后,才會把請求轉(zhuǎn)發(fā)出去——在這期間我們甚至可以對請求進(jìn)行手動修改。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

紅色字體表示該請求被攔截,之后我們可以按入a鍵來恢復(fù)該請求,可以輸入A鍵恢復(fù)所有被攔截的請求。

③ 查看/編輯請求

把指示光標(biāo)移動到某個請求上,按回車可以查看請求的內(nèi)容。或者鼠標(biāo)直接點(diǎn)擊請求也可以。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

之后通過左右方向鍵可以查看request、response、detail等信息。

如果要編輯請求,可以在這個界面輸入e,然后會讓我們選擇編輯哪塊內(nèi)容:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

之后就會進(jìn)入vim編輯界面編輯相應(yīng)的內(nèi)容了(保存后會生效)。

④ 重發(fā)請求

mitmproxy的光標(biāo)指向某個請求時,按下r鍵可以重發(fā)這個請求(重發(fā)前可以對該請求進(jìn)行編輯)。

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

按下’:’鍵后,可以輸入命令,這樣我們就可以通過過濾規(guī)則批量的重發(fā)請求

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

replay.client是mitmproxy內(nèi)置的一個命令,我們也可以自行編寫命令。命令的編寫可以參考官網(wǎng)文檔,這里不做介紹。

⑤ 插件開發(fā)

我們可以編寫插件,然后再啟動的時候指定插件,mitmproxy處理請求的時候會執(zhí)行一個插件的鏈,這樣我們就可以對請求進(jìn)行編輯然后再發(fā)送出去了。

借用官網(wǎng)的插件demo:

四大網(wǎng)絡(luò)抓包神器,總有一款適合你(四大網(wǎng)絡(luò)抓包神器,總有一款適合你的游戲)

這個方法對每一個請求進(jìn)行處理,然后打印序號。通過mitmproxy -s test.py來讓插件生效。通過插件可以綁定各種連接事件。感興趣的朋友可以自行去mitmproxy官網(wǎng)看文檔,這里不多做介紹。

⑥ 保存抓到的請求數(shù)據(jù)

通過w快捷鍵我們可以把這次抓到的請求包保存到文件上。

通過mitmproxy -r file可以讀取以前抓取的請求信息進(jìn)行分析。

優(yōu)點(diǎn):

  • 命令行操作,可以在無GUI界面的服務(wù)器上使用

06總 結(jié)

對于這幾個抓包神器,我總結(jié)了下使用場景:

  • 只抓http協(xié)議的話:推薦使用mitmproxy。mitmproxy豐富的功能不僅可以滿足我們的抓包需求,還可以提升我們的工作效率。比如測試可以抓包后一鍵重發(fā)請求來重現(xiàn)bug,開發(fā)調(diào)試的時候可以修改請求內(nèi)容等等
  • 如果是在線上的沒有GUI的服務(wù)器:推薦使用tcpdump,雖然mitmproxy也可以支持命令行抓包,但是生產(chǎn)環(huán)境的服務(wù)器最好不要亂安裝第三方插件。另外,大多數(shù)服務(wù)器都有裝tcpdump。我們可以通過把請求的內(nèi)容輸出到文件,然后拷貝會自己的電腦用wireshark分析。
  • 想要抓取http以外的協(xié)議的話:直接上wireshark。功能強(qiáng)大。對于Charles,感覺用了mitmproxy之后,就基本用不上Charles了。Charles好像也可以編輯后再發(fā)送,但是感覺不是很好用,可能我用的不是很熟吧。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年3月30日 上午11:23
下一篇 2024年3月30日 上午11:37

相關(guān)推薦

  • 組織管理科研項(xiàng)目

    組織管理科研項(xiàng)目 科研項(xiàng)目是現(xiàn)代社會的重要支柱之一,對于推動科學(xué)技術(shù)的發(fā)展和應(yīng)用,提高國家的競爭力具有重要意義。然而,科研項(xiàng)目的管理并不容易,需要協(xié)調(diào)各方面的利益,保證項(xiàng)目的進(jìn)展和…

    科研百科 2025年4月24日
    2
  • 絕密科研項(xiàng)目完結(jié)了沒

    絕密科研項(xiàng)目完結(jié)了沒 隨著項(xiàng)目的完結(jié),我們終于松了一口氣。這個項(xiàng)目是我們團(tuán)隊(duì)歷經(jīng)數(shù)年努力的結(jié)果,也是我們職業(yè)生涯中最為重要的項(xiàng)目之一。 在過去的數(shù)年中,我們每天都在不斷地努力,為了…

    科研百科 2025年3月28日
    2
  • 一站式工程項(xiàng)目管理系統(tǒng)

    一站式工程項(xiàng)目管理系統(tǒng) 隨著數(shù)字化時代的到來,工程項(xiàng)目管理也逐漸向數(shù)字化轉(zhuǎn)型。為了更好地管理工程項(xiàng)目,許多公司都已經(jīng)開始使用一站式工程項(xiàng)目管理系統(tǒng)(One-Stop Project…

    科研百科 2025年1月23日
    2
  • qt項(xiàng)目商品管理系統(tǒng)

    Qt項(xiàng)目商品管理系統(tǒng) Qt項(xiàng)目商品管理系統(tǒng)是一款功能強(qiáng)大的商品管理工具,它可以幫助商家快速高效地管理商品信息。該系統(tǒng)基于Qt框架開發(fā),使用了現(xiàn)代化的UI設(shè)計(jì),支持多種商品類型,并且…

    科研百科 2025年6月6日
    1
  • 如何學(xué)習(xí)軟件開發(fā)-(學(xué)軟件開發(fā)需要什么基礎(chǔ)知識)

    基礎(chǔ)知識:你需要學(xué)習(xí)編程語言和基本的編程概念,例如變量、循環(huán)、條件語句等。常見的編程語言包括Python、Java、C 等。選擇一門易于入門的語言開始學(xué)習(xí)。 數(shù)據(jù)結(jié)構(gòu)和算法:數(shù)據(jù)結(jié)…

    科研百科 2024年5月2日
    44
  • 科研項(xiàng)目申報職稱

    科研項(xiàng)目申報職稱 隨著科技的不斷發(fā)展,科研項(xiàng)目申報職稱已成為許多科技工作者的重要任務(wù)之一。科研項(xiàng)目申報職稱不僅能夠提高科技工作者的技術(shù)水平,還能夠?yàn)樗麄兲峁└嗟穆殬I(yè)發(fā)展機(jī)會。本文…

    科研百科 2025年2月16日
    5
  • 多組復(fù)雜相關(guān)性熱圖繪制

    多組復(fù)雜相關(guān)性熱圖繪制 多組復(fù)雜相關(guān)性熱圖是研究復(fù)雜系統(tǒng)的一個重要工具,可以幫助我們更好地了解系統(tǒng)中不同變量之間的復(fù)雜關(guān)系。在實(shí)際應(yīng)用中,多組復(fù)雜相關(guān)性熱圖常常用于數(shù)據(jù)挖掘、機(jī)器學(xué)…

    科研百科 2024年10月18日
    14
  • 江蘇光伏項(xiàng)目管理系統(tǒng)

    江蘇光伏項(xiàng)目管理系統(tǒng) 江蘇光伏項(xiàng)目管理系統(tǒng)是一種能夠幫助企業(yè)高效管理光伏項(xiàng)目的工具。隨著全球?qū)稍偕茉吹男枨蟛粩嘣黾樱夥?xiàng)目成為了企業(yè)的重要發(fā)展方向。但是,傳統(tǒng)的管理方式已經(jīng)無…

    科研百科 2025年7月3日
    2
  • 客戶關(guān)系管理是做什么的

    客戶關(guān)系管理(Customer Relationship Management,CRM)是一種通過信息技術(shù)來管理和優(yōu)化客戶 interactions的業(yè)務(wù)流程。CRM 旨在提高企業(yè)…

    科研百科 2024年9月22日
    5
  • 大創(chuàng)是教師科研項(xiàng)目嗎為什么大創(chuàng)是教師科研項(xiàng)目嗎為什么

    大創(chuàng)是教師科研項(xiàng)目嗎?為什么大創(chuàng)是教師科研項(xiàng)目嗎? 近年來,隨著教育的不斷發(fā)展和改革,高校教師科研項(xiàng)目的重要性越來越受到關(guān)注。其中,“大創(chuàng)”項(xiàng)目是指“大創(chuàng)”計(jì)劃,是高校學(xué)生的一個創(chuàng)…

    科研百科 2024年9月4日
    30
坤廷play水管| 2020国产精品自拍| 精品无人区麻豆乱码1区2区| 男生的肌肌插入女生的肌肌| 欧美性猛交xxxx免费看蜜桃| 小四郎在线观看| 成人免费看www网址入口| 国产极品白嫩精品| 人人妻人人澡人人爽不卡视频| 亚洲国产高清美女在线观看| 一级毛片**免费看试看20分钟 | 精品日韩欧美一区二区三区 | 精品乱码久久久久久中文字幕| 日韩在线一区二区| 成年美女黄网站18禁免费| 在线精品91青草国产在线观看 | 免费看a级毛片| 亚欧免费视频一区二区三区 | 人妻无码久久久久久久久久久| 亚洲欧洲高清有无| 久久18禁高潮出水呻吟娇喘 | 精品国产一区二区三区久久影院 | 视频一区视频二区制服丝袜| 最新国产在线播放| 日日夜夜天天干| 国产精品熟女一区二区| 国产在线视频www片| 别揉我胸啊嗯~| 亚洲成人福利在线| 一区二区三区视频免费观看| 精品国产三级v| 日韩成人在线网站| 国产欧美日韩综合精品一区二区 | 成人综合在线视频免费观看完整版 | 再深点灬舒服了灬太大了乡村 | 国产成人精品电影| 亚洲av综合色区无码一区爱av| 麻豆国产VA免费精品高清在线| 最近中文字幕无免费视频 | 国产在线无码视频一区二区三区 | 久久精品国产亚洲AV蜜臀色欲|