抓包工具(四大網絡抓包神器,總有一款適合你)

時間:2024-09-19 16:34:03 閱讀:9

四大網絡抓包神器,總有一款合適你

01概述

無論是開發照舊測試,在事情中常常會碰到必要抓包的時分。本篇文章主要先容如安在各個平臺下,高效的抓包。

現在的抓包軟件總體可以分為兩類:

  • 一種是設置署理抓取http包,好比Charles、mitmproxy這些軟件。
  • 另一種是直接抓取顛末網卡的一切協議包,此中最出名就是學名鼎鼎的wireshark以及linux自帶的抓包軟件tcpdump。

底下重點先容一下這四個抓包東西的特點以及使用。


02Wireshark

wireshark想必大大多步驟員都不會生疏。wireshark在各個平臺都可以安裝使用,它可以抓取顛末指定網卡的一切協議。wireshark固然很強壯,但是對初學者但是不是很友好。


這也正是由于它太強壯,它可以抓取一切包,以是初學者在使用時面臨茫茫數據流不知所措。初學者必要仔細的去學習怎樣過濾取得本人感興致的包,但是假如不熟習wireshark的過濾語法,要過濾數據包將步履維艱。

過濾語法簡便先容

wireshark的過濾語法總結起來但是也很簡便,就是以協議開頭,后方可以隨著協議的屬性,然后加上一些推斷標記,好比contains、==、>、<等等。好比只想展現http的協議內容,則直接在過濾器輸入框中輸入http即可。

如下圖:

好比我只想看http協議的哀求頭中uri包含’/api’的協議,就可以這么寫:

假如想經過目標ip大概泉源ip來過濾包,就不成以以http協議為前綴了,由于這些是ip協議的干系屬性。經過目標ip來過濾可以這么寫:

外表表現目標機器的ip是61.135.217.100并且協議是http的包。

wireshark支持很多種協議,我們可以經過右上角的expression來掀開搜刮支持的協議,還可以找出協議支持的屬性,然后填入渴望的值,軟件會主動為我們構建過濾語句。


優點:

  • 功效強壯,可以抓取一切協議的包
  • 抓到的包容易分析

缺陷:

  • 由于線上辦事器沒有GUI,僅有下令行,因此無法在線上辦事器使用
  • 無法分析https數據包,由于wireshark是在鏈路層獲取的數據包信息,以是獲取到的https包是加密后的數據,因此無法分析包內容。固然,我們可以對https數據包舉行解密, 但是利器具有一定的繁復度,約莫要斲喪很多時間。


03Tcpdump


tcpdump是linux上自帶的一個抓包軟件(mac也有),功效強壯,也可以抓取顛末指定網卡的一切協議包。

由于是下令行東西,tcpdump抓取到的包不易于分析,一個稀有的做法是將tcpdump抓到的包輸入到某個文件,然后將文件拷貝下去用wireshark分析。


一些簡便的過濾參數:

抓包內容輸入到文件:


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

用tcpdump輸入cap文件包:

tcpdump-r test.cap


04Charles


Charles是一款http抓包東西,它是經過署理來完成的抓包。也就是我們在拜候網頁時必要設置署理,將署理指向Charles監聽的端口,之后我們的http哀求都市發向Charles的端口,之后Charles會幫我們轉發并紀錄協議內容。

Charles的使用十分簡便,設置好署理后,Charles就開頭抓包了。


我們可以直接經過Charles的GUi查察包的內容:

上圖中的unknown表現https加密后的數據,以是看到不協議的具體內容。我們可以經過安裝Charles的證書,讓Charles也可以查察https協議的具體內容。

優點

  • 使用簡便,只需設置一下署理地點就可以
  • 要抓取https協議的設置也很簡便,只需安裝下charles的證書就可以了


05mitmproxy


mitmproxy是python寫的一款http抓包東西,固然只支持http抓包,但是它的特性十分強壯,它不僅可以抓包,還可以對哀求舉行攔阻、重現等利用。和Charles一樣,它的原理也是基于署理,使用的時分必要設置署理指向它。

mitmproxy是下令行東西,但是也自帶了mitmweb東西,可以讓用戶在網頁上利用。別的,mitmproxy還支持用戶自行編寫插件,可以編寫腳本對哀求舉行處理,然后把修正后的哀求發射去。


1、安裝

起首必要在機器安裝python3以及pip3.之后經過pip3安裝

pip3 install mitmproxy


假如安裝mitmproxy歷程中報錯ModuleNotFoundError: No module named '_ssl',就必要安裝一下OpenSSL,然后再重新編譯安裝一下python3。

安裝好openSSL后再實行pip3 install mitmproxy

2、使用

安裝后,直接本人令行輸入mitmproxy就會進入它的交互界面:

這時分mitmproxy以前開頭監聽8080端口(默許),接著,我們可以去欣賞器設置署理。欣賞器設置署理的辦法有很多,這里不多做先容。


設置完署理后,拜候欣賞器的哀求都市被發到mitmproxy上,mitmproxy依據端正對哀求舉行攔阻(不設置攔阻端正的話則都不攔阻),一切顛末的哀求都市被輸入:


在交互界面上可以經過快捷鍵利用哀求。輸入問號’?’,可以查察快捷鍵的文檔。


3、底下先容一些常用的快捷鍵和功效

① 哀求過濾

在哀求列表交互界面,按下f鍵后,可以輸入一些過濾端正:

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

②哀求攔阻

按下i鍵后,可以對指定的哀求舉行攔阻。按mitmproxy收到指定條件的哀求時,不會立馬把它轉發射去,而是等候我們實行resume利用后,才會把哀求轉發射去——在這時期我們乃至可以對哀求舉行手動修正。

赤色字體表現該哀求被攔阻,之后我們可以按入a鍵來規復該哀求,可以輸入A鍵規復一切被攔阻的哀求。


③ 查察/編纂哀求

把指示光標挪動到某個哀求上,按回車可以查察哀求的內容。大概鼠標直接點擊哀求也可以。

之后經過支配朝向鍵可以查察request、response、detail等信息。

假如要編纂哀求,可以在這個界面輸入e,然后會讓我們選擇編纂哪塊內容:

之后就會進入vim編纂界面編纂相應的內容了(保存后會奏效)。


④ 重發哀求

mitmproxy的光標指向某個哀求時,按下r鍵可以重發這個哀求(重發前可以對該哀求舉行編纂)。

按下’:’鍵后,可以輸入下令,如此我們就可以經過過濾端正批量的重發哀求

replay.client是mitmproxy內置的一個下令,我們也可以自行編寫下令。下令的編寫可以參考官網文檔,這里不做先容。


⑤ 插件開發

我們可以編寫插件,然后再啟動的時分指定插件,mitmproxy處理哀求的時分會實行一個插件的鏈,如此我們就可以對哀求舉行編纂然后再發送出去了。

借用官網的插件demo:

這個辦法對每一個哀求舉行處理,然后打印序號。經過mitmproxy -s test.py來讓插件奏效。經過插件可以綁定種種毗連事變。感興致的伙伴可以自行去mitmproxy官網看文檔,這里不多做先容。


⑥ 保存抓到的哀求數據

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

經過mitmproxy -r file可以讀取從前抓取的哀求信息舉行分析。

優點:

  • 下令行利用,可以在無GUI界面的辦事器上使用


06總 結


關于這幾個抓包神器,我總結了下使用場景:

  • 只抓http協議的話:保舉使用mitmproxy。mitmproxy豐厚的功效不僅可以滿意我們的抓包需求,還可以提升我們的事情聽從。好比測試可以抓包后一鍵重發哀求來重現bug,開發調試的時分可以修正哀求內容等等
  • 假如是在線上的沒有GUI的辦事器:保舉使用tcpdump,固然mitmproxy也可以支持下令行抓包,但是消費情況的辦事器最好不要亂安裝第三方插件。別的,大大多辦事器都有裝tcpdump。我們可以經過把哀求的內容輸入到文件,然后拷貝會本人的電腦用wireshark分析。
  • 想要抓取http以外的協議的話:直接上wireshark。功效強壯。關于Charles,以為用了mitmproxy之后,就基本用不上Charles了。Charles仿佛也可以編纂后再發送,但是以為不是很好用,約莫我用的不是很熟吧。

版權聲明:本文來自互聯網整理發布,如有侵權,聯系刪除

原文鏈接:http://www.freetextsend.comhttp://www.freetextsend.com/qingganjiaoliu/52299.html


Copyright ? 2021-2022 All Rights Reserved 備案編號:閩ICP備2023009674號 網站地圖 聯系:dhh0407@outlook.com

www.成人网