网络抓包与HTTP协议

一、Wireshark网络封包分析软件

1.1 定义

Wireshark(前称Ethereal) :是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的途径取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是全世界最广泛的网络封包分析软件之一。

Whireshark用于数据报文交换。

1.2 应用

Wireshark使用目的:
以下是一些使用Wireshark目的的例子:

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……

Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出流通的封包资讯。 Wireshark本身也不会送出封包至网络上。

1.3 工作流程

(1)确定Wireshark的位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据。
(2)选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。
(3)使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获文件。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。
(4)使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
(5)使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。
(6)构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。
(7)重组数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息,或者是一个重组一个完整的图片或文件。由于传输的文件往往较大,所以信息分布在多个数据包中。为了能够查看到整个图片或文件,这时候就需要使用重组数据的方法来实现。

1.4 时标与过滤器

  • 时标:时标依赖于抓包电脑的系统时间。有一点需要注意:抓取的第一条和最后一条报文的时标并不是高度精确的。
  • 过滤器:Wireshark拥有强大的过滤器引擎,用户可以使用过滤器筛选出有用的数据包,排除无关信息的干扰。

二、Fiddler抓包工具

2.1 定义

Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据(我一般用来抓包),Fiddler还包含一个简单却功能强大的基于JScript .NET事件脚本子系统,它可以支持众多的HTTP调试任务。

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。Fiddler在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。

2.2 工作原理

Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

三、TCP三次握手

Wireshark是免费文件,应用商店应该都有,自行下载即可。

步骤

  • 打开Wireshark选择电脑接入的网络,此处是笔主电脑wlan2上网,所以我选择的是wlan2接口。
    双击进入:
    在这里插入图片描述
  • http发送get请求是在tcp进行三次握手之后,所以我们输入http来筛选信息,然后随机选取其中一个来观察三次握手的过程。

请添加图片描述

  • 以图示照做:

请添加图片描述

  • 可能会出现以下界面,没关系,×掉就好

请添加图片描述

  • 然后这条封包上面就会出现三条tcp(可能会更多,不排除重传的情况,不过重传的颜色时和正常的颜色是不一样的)

请添加图片描述

  • 第一条指令的详细信息,第一次握手,同步请求

请添加图片描述

  • 第二次握手,同步请求确认

请添加图片描述

  • 第三次握手,请求确认

请添加图片描述

四、用Fiddler查看返回数据

Fiddler下载地址: https://pan.baidu.com/s/1bpnp3Ef
提取码:5skw
此处的下载是笔主从其他博主的文章中看到的,博主文章:Fiddler抓包工具总结

步骤

  • 在进行抓包之前,我们要先对Fiddler更改设置。
  • 默认状态下的fiddler是不能解密https协议的请求内容的,想要用fiddler抓到浏览器访问的https接口,需要在fiddler下更改设置。
  • 打开fiddler软件,点击上面的tools选项,选择第一个options:

在这里插入图片描述

  • 这时候就开始抓包了,比如我在火狐打开了一个优酷网站,就会发现捕获列表里有这个网址(如果没有可以多刷新几次浏览器界面),然后点击go,有这个选项之后,选择这个它,再在接收数据端点击json格式,就可以看到了。
  • 比如我这里选择一个优酷的包,就会出现:
    在这里插入图片描述

如果大家想要了解更多关于Fiddlerd抓包的相关内容,可以看这篇文章,笔主觉得写得挺详细的:Fiddler抓包工具总结

小小的总结

  • 采用Wireshark、Fiddler抓包软件,抓取相应的上网数据包,基本操作较为简单,但要想真正了解其中含义,知道字符的含义,还是需要花费一些时间精力去学习+实践。
  • 笔主这里的抓包还并不熟练,还是需要更多的知识积累才行。
  • 抓包常见于fiddler抓取web端数据、移动端数据,修改数据后提交请求;究其原理是使用了http代理服务器的方式,抓取http请求信息。

参考文献

  1. Wireshark——百度百科
  2. Fiddler抓包工具总结
  3. 利用Wireshark和Fillder进行抓包

Guess you like

Origin blog.csdn.net/YouthBlood9/article/details/121180555