抓包工具有哪些,第1张

| Fiddler

此工具经典且强大,它提供电脑、移动端的抓包,包括http协议和https协议都可以捕获到报文并进行分析,可以设置断点调试、截取报文进行请求替换和数据篡改,也可以进行请求构造,还可以设置网络丢包和延迟进行APP弱网测试等,它的优势就是免费。

| Charles

此工具别名花瓶,它是通过代理实现的抓包,也就是我们在访问网页时配置代理指向Charles监听的端口,之后所有的请求它都会帮我们转发并记录,使用起来也非常简单,配置好代理后,Charles就开始抓包了,我们可以直接通过GUI查看包的内容。但有一点不太好,它是收费的,很多Mac用户都喜欢用这个软件。

| Hping

是最受欢迎和免费的抓包工具之一,允许你修改和发送自定义的ICMP、UDP、TCP和原始IP数据包。此工具由网络管理员用于防火墙和网络的安全审计和测试。其可用于各种平台,包括Windows、MacOs

X、Linux、FreeBSD、NetBSD、OpenBSD和Solaris。

| Ostinato

是一个开源和跨平台网络包生成器和分析工具,带有GUI界面,使其易于使用和理解。它支持Windows、Linux、BSD和Mac OS X平台。

| Wireshark

是一款超级厉害的抓包工具,是从事网络工程师必用工具,也是一款跨平台的工具,Windows、Linux、macOS都可以使用。它不仅可以分析http/https的数据,它还可以分析网络2层以上都可以看到,比如tcp的三次握手等,但是如果你只是分析http协议,可以不用这么专业的工具,以免增加筛选请求成本和学习成本。

| F12

是众多抓包工具中最简单、最轻量级的,因为它是浏览器内置的开发者工具来提供捕获浏览器的数据报文的功能。它免安装,直接打开浏览器就可以直接使用,所有使用非常好上手,适合入门级别的新手学习。

它主要针对HTTP协议和HTTPS协议,可以确认我们的网络数据包的一个状态,通过分析请求和响应报文里面的内容,分析出来请求数据和响应数据是否正确,定位问题是前端问题还是后端问题。而且F12作为浏览器的一部分,是数据收发的一端,抓取到的HTTPs报文是可以得到明文数据的;不过因为只能抓当前浏览器的收发报文,层次只能是在应用层Http(s)协议,不能抓取其他的数据报文。

运行wireshark软件,选择无线网络连接,点击start,进入捕包界面,在filter(过滤器)的方框中,输入http。 点击右侧的apply(应用),就能捕获指定的网站数据包。

用wireshark软件捕获http数据包的方法步骤:

1、运行wireshark软件,进入主界面。

2、在左侧网卡区域,点击选择网卡。目前这里是无线网卡,就选择无线网络连接。

3、点击start,进入捕包界面。

4、在filter(过滤器)的方框中,输入http。

5、 点击右侧的apply(应用)。此时,进入捕包状态。若在浏览器中浏览网页,就能捕获其中的http数据包。

VBA网抓常用方法

1、xmlhttp/winhttp法:

用xmlhttp/winhttp模拟向服务器发送请求,接收服务器返回的数据。

优点:效率高,基本无兼容性问题。

缺点:需要借助如fiddler的工具来模拟http请求。

2、IE/webbrowser法:

创建IE控件或webbrowser控件,结合htmlfile对象的方法和属性,模拟浏览器操作,获取浏览器页面的数据。

优点:这个方法可以模拟大部分的浏览器操作。所见即所得,浏览器能看到的数据就能用代码获取。

缺点:各种弹窗相当烦人,兼容性也确实是个很伤脑筋的问题。上传文件在IE里根本无法实现。

3、QueryTables法:

因为它是excel自带,所以勉强也算是一种方法。其实此法和xmlhttp类似,也是GET或POST方式发送请求,然后得到服务器的response返回到单元格内。

优点:excel自带,可以通过录制宏得到代码,处理table很方便

。代码简短,适合快速获取一些存在于源代码的table里的数据。

缺点:无法模拟referer等发包头

也可以利用采集工具进行采集网页端的数据,无需写代码。

Charles是一个网络抓包工具,我们可以用它来做App的抓包分析,得到App运行过程中发生的所有网络请求和响应内容,这就和Web端浏览器的开发者工具Network部分看到的结果一致。

相比Fiddler来说,Charles的功能更强大,而且跨平台支持更好。所以我们选用Charles作为主要的移动端抓包工具,用于分析移动App的数据包,辅助完成App数据抓取工作。

一、本节目标

本节我们以京东App为例,通过Charles抓取App运行过程中的网络数据包,然后查看具体的Request和Response内容,以此来了解Charles的用法。

二、准备工作

请确保已经正确安装Charles并开启了代理服务,手机和Charles处于同一个局域网下,Charles代理和CharlesCA证书设置好。

三、原理

首先Charles运行在自己的PC上,Charles运行的时候会在PC的8888端口开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理。

确保手机和PC在同一个局域网内,我们可以使用手机模拟器通过虚拟网络连接,也可以使用手机真机和PC通过无线网络连接。

设置手机代理为Charles的代理地址,这样手机访问互联网的数据包就会流经Charles,Charles再转发这些数据包到真实的服务器,服务器返回的数据包再由Charles转发回手机,Charles就起到中间人的作用,所有流量包都可以捕捉到,因此所有HTTP请求和响应都可以捕获到。同时Charles还有权力对请求和响应进行修改。

四、抓包

初始状态下Charles的运行界面如下图所示。

Charles会一直监听PC和手机发生的网络数据包,捕获到的数据包就会显示在左侧,随着时间的推移,捕获的数据包越来越多,左侧列表的内容也会越来越多。

可以看到,图中左侧显示了Charles抓取到的请求站点,我们点击任意一个条目便可以查看对应请求的详细信息,其中包括Request、Response等内容。

接下来清空Charles的抓取结果,点击左侧的扫帚按钮即可清空当前捕获到的所有请求。然后点击第二个监听按钮,确保监听按钮是打开的,这表示Charles正在监听App的网络数据流,如下图所示。

这时打开手机京东,注意一定要提前设置好Charles的代理并配置好CA证书,否则没有效果。

打开任意一个商品,如iPhone,然后打开它的商品评论页面,如下图示。

不断上拉加载评论,可以看到Charles捕获到这个过程中京东App内发生的所有网络请求,如下图所示。

左侧列表中会出现一个apimjdcom链接,而且它在不停闪动,很可能就是当前App发出的获取评论数据的请求被Charles捕获到了。我们点击将其展开,继续上拉刷新评论。随着上拉的进行,此处又会出现一个个网络请求记录,这时新出现的数据包请求确定就是获取评论的请求。

为了验证其正确性,我们其中一个条目的详情信息。切换到Contents选项卡,这时我们发现一些JSON数据,核对一下结果,结果有commentData字段,其内容和我们在App中看到的评论内容一致,如下图所示。

这时可以确定,此请求对应的接口就是获取商品评论的接口。这样我们就成功捕获到了在上拉刷新的过程中发生的请求和响应内容。

五、分析

现在分析一下这个请求和响应的详细信息。首先可以回到Overview选项卡,上方显示了请求的接口URL,接着是响应状态Status Code、请求方式Method等,如下图所示。

这个结果和原本在Web端用浏览器开发者工具内捕获到的结果形式是类似的。

接下来点击Contents选项卡,查看该请求和响应的详情信息。

上半部分显示的是Request的信息,下半部分显示的是Response的信息。比如针对Reqeust,我们切换到Headers选项卡即可看到该Request的Headers信息,针对Response,我们切换到JSON TEXT选项卡即可看到该Response的Body信息,并且该内容已经被格式化,如下图所示。

由于这个请求是POST请求,我们还需要关心POST的表单信息,切换到Form选项卡即可查看,如下图所示。

这样我们就成功抓取App中的评论接口的请求和响应,并且可以查看Response返回的JSON数据。

至于其他App,我们同样可以使用这样的方式来分析。如果我们可以直接分析得到请求的URL和参数的规律,直接用程序模拟即可批量抓取。

六、重发

Charles还有一个强大功能,它可以将捕获到的请求加以修改并发送修改后的请求。点击上方的修改按钮,左侧列表就多了一个以编辑图标为开头的链接,这就代表此链接对应的请求正在被我们修改,如下图所示。

我们可以将Form中的某个字段移除,比如这里将partner字段移除,然后点击Remove。这时我们已经对原来请求携带的Form Data做了修改,然后点击下方的Execute按钮即可执行修改后的请求,如下图所示。

可以发现左侧列表再次出现了接口的请求结果,内容仍然不变,如下图所示。

删除Form表单中的partner字段并没有带来什么影响,所以这个字段是无关紧要的。

有了这个功能,我们就可以方便地使用Charles来做调试,可以通过修改参数、接口等来测试不同请求的响应状态,就可以知道哪些参数是必要的哪些是不必要的,以及参数分别有什么规律,最后得到一个最简单的接口和参数形式以供程序模拟调用使用。

七、结语

以上内容便是通过Charles抓包分析App请求的过程。通过Charles,我们成功抓取App中流经的网络数据包,捕获原始的数据,还可以修改原始请求和重新发起修改后的请求进行接口测试。

知道了请求和响应的具体信息,如果我们可以分析得到请求的URL和参数的规律,直接用程序模拟即可批量抓取!

手机爬虫非常有意思,而且可以爬取的数据非常多,当然还有很多东西要学。以后我也会写一些实战的有趣案例给大家。

在使用爬虫技术时,有一些限制需要注意,包括:

1 法律法规限制:爬取网站数据前需要遵守法律法规,例如《网络安全法》等。如果未经许可或未遵守相关规定,可能会触犯法律。

2 反爬虫机制:许多网站为了防止恶意爬取,采取了一些反爬虫机制,例如IP限制、验证码等,这可能会限制爬虫的效率和范围。

3 隐私和安全问题:在爬取网站数据时,需要尊重用户的隐私和信息安全。不应该爬取与收集无关的数据,也不应该将获取的数据用于非法的用途。

4 服务器资源限制:爬虫需要大量的服务器资源来进行数据爬取和存储。如果爬取大量数据或频繁爬取,可能会对服务器造成负担,甚至导致目标网站宕机。

5 内容质量考虑:爬虫可能会爬取到大量的数据,但并不是所有数据都有价值。在爬取数据前,需要明确目标并筛选出高质量的内容。

6 企业或私人限制:一般而言,未经授权的企业或私人网站禁止爬取。在进行爬虫操作前需要经过授权或遵循网站的使用条款。

总之,爬虫技术虽然可以快速地获取大量信息,但在使用时需要遵守法律法规和相关规定,尊重用户隐私和信息安全,同时注意自己的使用范围和目的。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 抓包工具有哪些

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情