第一次计算机网络实验报告
in with 3 comment

第一次计算机网络实验报告

in with 3 comment

1、查看本机信息

在网络共享中心可以查询到实验时所用计算机的IP地址以及物理地址信息

从图片上可以看出此机器使用的是静态IP配置方式、其中:

2、开始抓包

点开 Wireshark 选择相应的网卡,程序自动开始抓包。这时打开需要抓取的网站(因为刚开始测试时所使用的网站都启用了 HTTPS 协议,所以获取不到所需的HTTP包信息,于是选择了我自己 没有启用HTTPS 的一网站进行抓包。下图为抓包时的细节。

在过滤栏目里面输入 http and ip.addr == 192.168.1.7 表达式,进行网络报文规则匹配,过滤出自己本机访问网站所收发的数据包。

3、报文分析

3.1、HTTP请求报文分析

条目含义
GET /static/style/font-awesome/font/fontawesome-webfont.eot? HTTP/1.1\r\n此条信息代表,此报文使用GET请求方法向远程服务器请求Request-URL所标识的资源
Accept: /\r\n接收任意类型
Accept-Language: zh-CN\r\n能够接受的回应内容的自然语言列表为中文
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)\r\n浏览器的浏览器身份标识字符串
Accept-Encoding: gzip, deflate\r\n能够接受的编码方式列表
Host: zzutcy.top\r\n服务器的域名(用于虚拟主机 ),以及服务器所监听的传输控制协议端口号。
Connection: Keep-Alive\r\n针对该连接所预期的选项
\r\n空行
HTTP数据请求数据

3.2、HTTP响应报文分析

条目含义
HTTP/1.1 200 OK\r\n协议版本 状态码 状态码描述
Server: nginx/1.15.6\r\n服务器的名字
Date: Mon, 18 Mar 2019 11:16:17 GMT\r\n此条消息被发送时的日期和时间
Content-Type: text/html; charset=utf-8\r\n当前内容的MIME类型
Transfer-Encoding: chunked\r\n用来将实体安全地传输给用户的编码形式。当前定义的方法包括:分块(chunked)、compress、deflate、gzip和identity。
Connection: keep-alive\r\n针对该连接所预期的选项
X-Powered-By: PHP/7.2.13\r\n表明用于支持当前网页应用程序的技术
Set-Cookie: KOD_SESSION_ID_0249b=01c3087d0d57ac5c8beb58097a9f7639; path=/\r\nHTTP cookie
Expires: Thu, 19 Nov 1981 08:52:00 GMT\r\n指定一个日期/时间,超过该时间则认为此回应已经过期
Cache-Control: no-store, no-cache, must-revalidate\r\n向从服务器直到客户端在内的所有缓存机制告知,它们是否可以缓存这个对象。其单位为秒
Pragma: no-cache\r\n与具体的实现相关,这些字段可能在请求/回应链中的任何时候产生多种效果。
\r\n空行
HTTP数据请求数据

4、HTTP报文与协议三要素对比

网络协议的三要素:语法、语义、以及同步。

语法:从上图的HTTP请求报文格式可以看出,HTTP请求报文是有着严格的语法的,第一行为请求行,而且请求方法与URL和协议版本之间都有着空格存在作为分割,而且每行的结尾都是以回车换行作为结尾,规定了信息格式;数据及控制信息的格式、编码等。

语义:HTTP每一行都是有着严格的意义的,第一行就是从整体上对HTTP报文进行描述,说明了请求方法,请求URL以及使用的协议的相应版本、请求头部部分每一行都有着自己的头部字段名,来指明本字段的具体作用,明确地表达出了每一行地具体语义,说明了通信双方应当怎么做;协调了与差错处理的控制信息。

同步:HTTP报文中定义了何时进行通信,以及先讲什么,后讲什么,讲话的速度,以及传输的方式等,对事件的实现顺序进行了详细说明,并且指出了事件的顺序以及速度匹配和排序。

5、对所抓取的HTTP报文内容进行文件级别的验证

由前面对HTTP请求的报文格式与内容的分析可以看出,在HTTP报文的请求包体里面是包括着HTTP的请求数据的,下图就是对通过Wireshark这一抓包软件所抓取的(text/css)进行软件内数据与本地文件的互相验证。

根据相互对比得出的数据,可以很明显的看出两者是同一个文件,在访问该网站的时候,成功的将该静态资源文件捕获下来了。只是相应的中文进行了对应的字符编码转换。

6、通信过程分析