0 个人信息

  • 张樱姿
  • 201821121038
  • 计算1812

1 实验目的

熟练使用Packet Tracer工具。分析抓到的HTTP数据包,深入理解:HTTP协议,包括语法、语义、时序。

2 实验内容

客户端向服务器发送请求报文,服务器向客户端发送响应报文。

  • 建立网络拓扑结构
  • 配置参数
  • 抓包
  • 分析数据包

3 实验报告

本实验使用Cisco Packet Tracer这个平台来对网络环境进行模拟。

3.1 建立网络拓扑结构

如图,将一台PC端和一台Server端相连。

分析:客户(PC端)服务器(Sever端)是通信中所涉及的两个应用进程,要达到抓包的目的,就需要建立通信关系,即需要在同一网段内。

3.2 IP配置

PC端的IP地址:192.168.1.38,子网掩码:255.255.255.0

服务器的IP地址:192.168.1.100,子网掩码:255.255.255.0

分析:对于PC端和服务器的IP配置,其子网掩码相同,在同一网段内,可以相互通信。

 3.3 抓HTTP包并分析

3.3.1 使用PC端的Web Browser,在URL栏输入服务器的IP地址进行访问。

3.3.2 点击右下角的Simulation键进行仿真。

3.3.3 只勾选支持HTTP协议:

 3.3.4 仿真后的信息传递结果如下:

3.3.5 请求报文分析:

注:此处报文省略了Get /HTTP/1.1,Get表示方法,请求读取URL所标志的信息,其后有一个空格,接着是一个完整的URL(此处使用了相对URL,即省略了主机的域名),后面又是一个空格,最后的HTTP/1.1表示HTTP的版本是1.1的。

  • HTTP Data:Accept-Language:en-us表示用户希望优先得到英文版本的文档
  • Accept:*/*表示用户希望接受任意数据类型
  • Connection:close表示告诉服务器发送完请求的文档后就可释放链接
  • Host:192.168.1.100表示用户所访问主机的域名

3.3.6 响应报文分析:

注:此处省略了HTTP/1.1 200 OK表示HTTP版本是1.1,200是状态码,表示OK。

  • HTTP Data:Connection:close表示告诉服务器发送完响应的文档后就可释放链接
  • Content-Length:369表示HTTP消息实体的传输长度
  • Content-Type:text/xml表示设置页面内容是html
  • Server:PT-Server/5.2表示后台服务器

 3.4 Q&A

Q:关于HTTP协议的工作流程?

A:(图源自Carson_Ho的CSDN博客)

Q:关于响应报文的状态码?

A:状态码可分为5大类:

  • 1XX通知信息
  • 2XX成功
  • 3XX重定向
  • 4XX客户端出错
  • 5XX服务器出错

Q:常用的状态码?

A:

  • 200:请求成功,请求内容与该响应一起返回
  • 202:请求已被接受,但还没处理
  • 301:请求的资源已被永久移动到新的位置
  • 302:请求的资源被临时移动到新的位置
  • 400:请求参数有误,当前请求无法被服务器理解
  • 403:不允许访问该地址
  • 404:Not Found
  • 408:请求超时
  • 500:服务器内部错误
  • 502:Bad Gateway(网关出错)

4 Reference

计算机网络基础:这是一份详细 HTTP 学习指南----Carson_ho的CSDN博客

https://blog.csdn.net/carson_ho/article/details/82106781

第一次作业:使用Packet Tracer分析HTTP包的更多相关文章

  1. 第一次实验报告:使用Packet Tracer分析HTTP数据包

    目录 1 实验目的 2 实验内容 3. 实验报告 第一次实验报告:使用Packet Tracer分析HTTP数据包 1 实验目的 熟练使用Packet Tracer工具.分析抓到的HTTP数据包,深入 ...

  2. 第1次作业:使用Packet Tracer分析HTTP数据包

    个人信息:      •  姓名:李微微       •  班级:计算1811       •  学号:201821121001 一.摘要 本文将会描述使用Packet Tracer工具用到的网络结构 ...

  3. 第三次作业:使用Packet Tracer分析TCP连接的建立与释放过程

    0 个人信息 张樱姿 201821121038 计算1812 1 实验目的 使用路由器连接不同的网络 使用命令行操作路由器 通过抓取HTTP报文,分析TCP连接建立的过程 2 实验内容 使用Packe ...

  4. 第二次作业:使用Packet Tracer分析应用层协议(DNS、FTP、DHCP、SMTP、POP3)

    0 个人信息 张樱姿 201821121038 计算1812 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序. 2 实验内容 ...

  5. 第三次实验报告:使用Packet Tracer分析TCP连接建立过程

    目录 1 实验目的 2 实验内容 3. 实验报告 3.1 建立网络拓扑结构 3.2 配置参数 3.3 抓包,分析TCP连接建立过程 4. 拓展 (不作要求,但属于加分项) 1 实验目的 使用路由器连接 ...

  6. 第二次实验报告:使用Packet Tracer分析应用层协议

    个人信息:      •  姓名:李微微       •  班级:计算1811       •  学号:201821121001 一.摘要 本文描述使用Packet Tracer,正确配置网络参数,抓 ...

  7. 第二次实验报告:使用 Packet Tracer 分析应用层协议

    个人信息: 姓名:倪晓东 班级:计算1811 学号:201821121020 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序 ...

  8. 第一次使用cisco packet tracer

    搭建一个如图所示的网络,左边局域网是10.0.0.0网段,右边局域网是12.0.0.0网段,中间为广域网11.0.0.0网段 上面的成功了,但是不是很熟悉,下面重新来一遍 1.先用可视化界面建立一个如 ...

  9. 第四次作业:使用Packet Tracer理解RIP路由协议及ICMP协议

    0 个人信息 张樱姿 201821121038 计算1812 1 实验目的 理解RIP路由表的建立与更新 感受RIP坏消息传得慢 2 实验内容 使用Packet Tracer,正确配置网络参数,使用命 ...

随机推荐

  1. jmeter+ant生成xml报告

    1.jdk安装 2.jmter安装 3.ant安装 下载apache-ant-1.10.6-bin.zip,直接解压就可使用,和jmeter类似 ant环境变量配置 新建系统变量:ANT_HOME,变 ...

  2. Mybatis 中的<![CDATA[ ]]>浅析

    在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]&g ...

  3. 如何实现QQ附件在线预览功能

    方法一:使用 openoffice 的接口把文档转换成html (linux主机或者windows主机): 方法二:使用 一个叫 jacob.jar 的工具,在安装了 office 的windows主 ...

  4. js中更改this指向 以及回顾bind、call和apply

    1.更改this指向 方法1:对this进行保存            var _this = this; 例: var _this = this;     document.onclick = fu ...

  5. 三维动画形变算法(Laplacian-Based Deformation)

    网格上顶点的Laplace坐标(均匀权重)定义为:,其中di为顶点vi的1环邻域顶点数. 网格Laplace坐标可以用矩阵形式表示:△=LV,其中,那么根据网格的Laplace坐标通过求解稀疏线性方程 ...

  6. swith case判断

    swith case是js中的一种判断方式 应用于变量或表达式在不同值情况下的不同操作,每一种case结束都要加break结束整个判断 var num = 2; switch(num){ case 0 ...

  7. python画混淆矩阵(confusion matrix)

    混淆矩阵(Confusion Matrix),是一种在深度学习中常用的辅助工具,可以让你直观地了解你的模型在哪一类样本里面表现得不是很好. 如上图,我们就可以看到,有一个样本原本是0的,却被预测成了1 ...

  8. 关于ionic app $http.get()无法请求,导致页面没有数据的问题

    ionic app 打包后在真机上运行,无法用正常使用http.get(),这种情况被称为“白名单”,解决方法:切换到项目根目录,执行命令:cordova plugin add cordova-plu ...

  9. C函数指针状态机实现

    C函数指针状态机实现 有限状态机(finite state machine)简称FSM,表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用.FSM是一种逻辑单元内部 ...

  10. C 扩展对闭包特性的支持

    今日听说某君批评 C 语言说它[输入一个参数返回一个函数]很困难. 例如在 Python 中,你可以 def addn(n): def addx(x): return n + x return add ...