【实验目的】
通过wireshark工具,对网络数据包进行分析,找出攻击的数据以及攻击手段等。
【知识点】
1. Wireshark
Wireshark是开源的网络数据包分析软件。它的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。wireshark常用功能有:分析一般任务、故障任务、网络安全分析、应用程序分析等。
2. Web攻击流量分析
(1)Web攻击
Web攻击是指利用Web应用程序中的漏洞进行攻击的行为。常见的Web攻击包括SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)、文件包含漏洞等,这些攻击可能导致敏感信息泄露、系统瘫痪、恶意代码执行等安全问题。
为了防范Web攻击,需要从多个方面入手,例如对Web应用程序进行安全加固、对用户输入进行过滤和验证、对系统日志进行定期检查等。综合采取这些措施可以提升Web应用程序的安全性,保护用户数据和系统的完整性。
3. HTTP协议
HTTP协议是Web应用程序中最常用的协议之一,用于在Web浏览器和Web服务器之间传输数据。HTTP协议通常使用TCP作为底层传输协议,采用请求-响应模式进行通信。
(1)HTTP请求
HTTP请求包括三部分,分别是请求行(请求方法)、请求头(消息报头)和请求正文。HTTP请求第一行为请求行,由三部分组成,第一部分说明了该请求是POST请求,第二部分是一个斜杠(/test.php),用来说明请求是该域名根目录下的test.php,第三部分说明使用的是HTTP1.1版本。HTTP请求第二行至空白行为请求头(也被称为消息头)。其中,HOST代表请求主机地址,User-Agent代表浏览器的标识,请求头由客户端自行设定。HTTP请求第三行为请求正文,请求正文是可选的,它最常出现在POST请求方式中。
POST /test.php HTTP/1.1 //请求行
HOST:www.test.com //请求头
User-Agent:Mozilla/5.0 (windows NT 6.1;rv:15.0)Gecko/20100101 Firefox/15.0 //空白行,代表请求头结束
Username=admin&password=admin //请求正文
1234
(2)HTTP请求方法:
序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头。 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
(3)HTTP响应
HTTP响应由状态行(响应行)、响应头和响应体三部分组成,其中状态行包括状态码和状态信息等信息。
HTTP/1.1 200 OK //响应行
Date: Sun, 15 Nov 2015 11:02:04 GMT //响应头
Server: bfe/1.0.8.9
Content-Length: 2605
Content-Type: application/javascript
Cache-Control: max-age=315360000
Expires: Fri, 13 Jun 2025 09:54:00 GMT
Content-Encoding: gzip
Set-Cookie: H_PS_PSSID=2022_1438_1944_1788; path=/; domain=test.com
Connection: keep-alive
//空白行,代表响应头结束
<html>
<head><title> Index.html </title></head> //响应正文消息主题(响应体)
1234567891011121314
HTTP响应的第一行为响应行,其中有HTTP版本(HTTP/1.1)、状态码(200)以及消息“OK”。
第二行至末尾的空白行为响应头,由服务器向客户端发送。
消息头之后是响应正文,是服务器向客户端发送的HTML数据。
(4)HTTP状态码:
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。
五种状态码:
1xx:信息提示,表示请求已被成功接收,继续处理。
2xx:请求被成功提交。
3xx:客户端被重定向到其他资源。
4xx:客户端错误状态码,格式错误或者不存在资源。
5xx:描述服务器内部错误。常见的状态码描述如下:
200:客户端请求成功,是最常见的状态。
302:重定向。
404:请求资源不存在,是最常见的状态。
400:客户端请求有语法错误,不能被服务器所理解。
401:请求未经授权。
403:服务器收到请求,但是拒绝提供服务。
500:服务器内部错误,是最常见的状态。
503:服务器当前不能处理客户端的请求。
4. Wireshark分析HTTP协议
Wireshark是一款功能强大的网络协议分析工具,可以对HTTP协议的数据包进行捕获和分析。通过Wireshark,用户可以了解HTTP协议的具体实现和使用方式。同时,Wireshark提供了过滤器功能,可以对HTTP数据包进行过滤,只显示符合条件的数据包,方便用户进行进一步的分析和挖掘。此外,Wireshark还支持对HTTP请求和响应的报文进行解码,并展示其具体的内容和格式,让用户能够深入分析和理解HTTP通信过程。通过利用Wireshark进行HTTP数据包的分析,可以帮助用户识别潜在的安全风险、优化网络性能以及调试Web应用程序等。
5. ARP攻击流量分析
(1)ARP地址解析协议,目的是实现IP地址到MAC地址的转换。
在计算机间通信的时候,计算机要知道目的计算机是谁(就像人交流一样,要知道对方是谁),这中间需要涉及到MAC地址,而MAC是真正的电脑的唯一标识符。
(2)为什么需要ARP协议呢?
因为在OSI七层模型中,数据在源端从高层向低层逐层完成封装,到目的端数据从低层向高层逐层进行解封装,但是网络层完成IP封装,数据链路层完成MAC帧的封装,这个时候就需要映射IP和MAC。
PC1依据OSI模型依次从上至下对数据进行封装,包括对ICMP Date加IP包头的封装,但是到了封装MAC地址的时候,PC1首先查询自己的ARP缓存表,发现没有IP2和他的MAC地址的映射,这个时候MAC数据帧封装失败。使用ping命令的时候,是指定PC2的IP2的,计算机是知道目的主机的IP地址,能够完成网络层的数据封装,因为设备通信还需要对方的MAC地址,但是PC1的缓存表里没有,所以在MAC封装的时候填入不了目的MAC地址。
那么PC1为了获取PC2的MAC地址,PC1要发送询问信息,询问PC2的MAC地址,询问信息包括PC1的IP和MAC地址、PC2的IP地址,这里想到一个问题,即使是询问信息,也是需要进行MAC数据帧的封装,那这个询问信息的目的MAC地址填什么呢,规定当目的MAC地址为ff-ff-ff-ff-ff-ff时,就代表这是一个询问信息,也就是后面要说的广播。
PC2收到这个询问信息后,将这里面的IP1和MAC1(PC1的IP和MAC)添加到本地的ARP缓存表中,然后PC2发送应答信息,对数据进行IP和MAC的封装,发送给PC1,因为缓存表里已经有PC1的IP和MAC的映射了呢。这个应答信息包含PC2的IP2和MAC2。PC1收到这个应答信息,理所应当的就获取了PC2的MAC地址,并添加到自己的缓存表中。
经过这样交互式的一问一答,PC1和PC2都获得了对方的MAC地址,值得注意的是,目的主机先完成ARP缓存,然后才是源主机完成ARP缓存。之后PC1和PC2就可以真正交流了。
和上面的一样,刚开始PC1并不知道PC2的MAC地址,同样需要发
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)