【计算机网络】应用层和运输层网络协议分析

简介: 【计算机网络】应用层和运输层网络协议分析

Ⅰ. 了解 Wireshark 工具的工作原理及使用方法

已经参考


Ⅱ. 对 HTTP 协议进行分析

在这个实验中,我们将探讨HTTP 协议的几个方面:基本/响应交互,HTTP 消息格式,检索大型HTML 文件,检索HTML 文件嵌入对象,HTTP 身份验证和安全


过程和细节:


1.基本的HTTP 请求/响应:

用wireshark进行http过滤后,用浏览器打开http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html

下面是正常请求的结果,服务器返回200OK,附带html 的text内容


2.HTTP 条件请求/响应(file2)

同样用wireshark捕获浏览器地址http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html

由于客户端有If-Modified-Since字段,服务器肯定也有Last-Modified字段,如果服务器端的资源没有变化,则时间一致,自动返回HTTP状态码304(Not Changed.)状态码,内容为空,客户端接到之后,就直接把本地缓存文件显示到浏览器中,这样就节省了传输数据量

这里第一次已经请求




3.检索长文档(file3)

同样用wireshark抓取链接http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html下面的内容,结果如下

和第一部分没太大区别




4.嵌入对像的HTML 文档(file4)

用wireshark抓取链接http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html下面的请求,结果如下

请求该链接后,会再次请求两个图片的地址,一个是http://kurose.cslash.net/8E_cover_small.jpg,另一个是http://gaia.cs.umass.edu/pearson.png

因此可以得到如下的png和jpg的两个图片



5.HTTP 认证(file5)

同样抓取链接http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html下面的数据请求

首先第一次,请求的话,没有认证成功,返回401,弹出登录框

填上用户名和密码后再次带上Athorization字段进行请求,并且是正确的,返回200OK,不过下面的第二次请求同样没有清除缓存,导致304




Ⅲ. 对 TCP 协议进行分析

上面的实验很有意思,感觉流程都是人为计算好的!下面分析TCP协议


通过与远程服务器之间发送150KB 的文件来分析TCP 数据包的发送和接收。研究内容包括TCP 利用序列号和确认号来提供的可靠数据传输;TCP 拥塞控制算法中的慢启动和拥塞避免;TCP 协议的流控制策略,如何建立TCP 连接以及TCP 连接的性能(吞吐量和往返时间)


1.抓取传输到远程服务器的TCP 数据包


第一步将文章http://gaia.cs.umass.edu/wireshark-labs/alice.txt下载下来


第二步,打开链接http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html

第三步,选择刚刚下载的alice.txt,选择文件后上传,并进行抓包,上传后结果如下


2.分析建立TCP 连接的过程

建立连接的过程还是比较好分析的,看下面的这个抓包


首先看红框里面的SYN,表示开始建立连接,MSS=1460,限制了服务器发送给本地主机的最大帧长度

然后是第二个数据包,第三个数据包,我这里是由于未知问题,SYN包没发过去再重发了两次

第四个数据包是,服务器返回给主机的SYN包+ACK包,注意到服务器的MSS限制到了1400,这也就是下面主机每次传给服务器的帧长度也就是1400

第五个数据包是客户端响应服务器的ACK包

3.根据抓取的数据结果,分析TCP 的基本结构和内容


基本的结构如下


看下面这个例子,第一个圈圈为帧头部,为14字节,中间的部分为ip头部,为20字节,然后下面的第二个圈圈就是TCP报文的内容了

可以看到头部长度为20的话,结果用字节表示就是50


4. TCP 拥塞控制分析

  • 在网络封包分析的“listing of captured-packets”窗口中选一个TCP 段,然后,Statistics->TCP Stream Graph->Time-Sequence-Graph(Stevens)


使用 Time-Sequence-Graph(Stevens)绘图工具查看 TCP 数据段的时序图,找出TCP 慢启动的开始和结束以及拥塞避免阶段


很明显上面的图,首先是慢启动的状态,从一个或几个MSS开始,呈指数增长。然后到一定程度了就进入拥塞控制增长,呈线性增长


但是从我这个抓包来看,Sequence Number有一个减缓的趋势,说明发生了快速重传,所以Sequence Number有一定的减少,但是没有减完,因为TCP拥塞控制重传的方式不是超时重传


相关文章
|
监控 网络协议 安全
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
601 19
|
存储 监控 网络协议
一次读懂网络分层:应用层到物理层全解析
网络模型分为五层结构,从应用层到物理层逐层解析。应用层提供HTTP、SMTP、DNS等常见协议;传输层通过TCP和UDP确保数据可靠或高效传输;网络层利用IP和路由器实现跨网数据包路由;数据链路层通过MAC地址管理局域网设备;物理层负责比特流的物理传输。各层协同工作,使网络通信得以实现。
|
域名解析 网络协议 前端开发
【第四期】网络层、传输层、应用层
【第四期】网络层、传输层、应用层
348 3
|
XML JSON 网络协议
【网络】TCP/IP五层网络模型:应用层
【网络】TCP/IP五层网络模型:应用层
374 1
|
缓存 监控 网络协议
计算机网络的常用的网络通信命令(Windows)
本文介绍了网络技术中常用的命令,如ping用于检测网络连通性,ipconfig查看TCP/IP配置,netstat监控网络状态,arp显示和修改ARP缓存,at安排任务执行,tracert追踪路由,以及nbtstat获取NetBIOS信息。
676 1
|
存储 网络协议 安全
计算机网络-网络层
计算机网络-网络层
|
安全 区块链 数据库
|
网络协议 网络架构
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
838 0
|
XML 存储 网络协议
在Linux中,如何使用Wireshark进行网络协议分析?
在Linux中,如何使用Wireshark进行网络协议分析?

热门文章

最新文章