抓包工具(四大网络抓包神器,总有一款适合你)

时间: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仿佛也可以编纂后再发送,但是以为不是很好用,约莫我用的不是很熟吧。

版权声明:本文来自互联网整理发布,如有侵权,联系删除

原文链接:https://www.yigezhs.comhttps://www.yigezhs.com/qingganjiaoliu/52299.html


Copyright © 2021-2022 All Rights Reserved 备案编号:闽ICP备2023009674号 网站地图 联系:dhh0407@outlook.com