计算机网络 实验二 wireshark抓包 实验报告

本实验使用到的软件:Wireshark,官网下载链接:

Wireshark · Download

实验目的

  1. 熟悉并掌握wireshark的基本操作,了解网络协议实体的交互及报文交换
  2. 利用wireshark抓包软件分析HTTP协议报文的首部格式,理解HTTP协议的工作过程
  3. 分析DNS的协议包头的首部格式,理解DNS协议的工作过程
  4. 通过对wireshark 抓包实例进行分析,进一步加深网络协议的理解

实验环境

  1. 连入Internet的主机一台
  2. 主机安装Wireshark软件

实验步骤

  1. 启动您的浏览器,并确保您的浏览器的缓存被清除(大多数Web浏览器使用对象缓存,请确保浏览器的缓存为空。)
  2. 打开wireshark软件
  3. 抓取HTTP协议报文,并分析HTTP协议。
  4. 在Windows命令行下输入nslookup命令,查看DNS解析。同时捕获DNS请求和响应报文

实验分析

1.HTTP协议分析

(1)打开wireshark抓包软件,选定网络接口开始捕获报文,浏览器清空缓存,在浏览器地址栏输入下列网址http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html

(2)在浏览器出现相应的页面后,停止捕获报文,停止分组俘获。在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。将捕获结果保存为test1。

(3)打开test1的捕获文件,分析第一个请求报文和响应报文,并回答下列问题。
(1)附上与此实验相关的http请求报文和响应报文的截图

请求报文(Request):

响应报文(Response):

(2)你的主机的IP地址是多少?gaia.cs.umass.edu服务器IP地址是多少?

主机IP:192.168.133.220
服务器IP:128.119.245.12

(3)你的浏览器运行的http版本是 1.0 还是1.1? 服务器运行的版本是什么?

浏览器运行的http版本:HTTP/1.1

服务器运行的http版本:HTTP/1.1

(4)您的浏览器指示哪些语言可以接受服务器的响应?

哪些语言可以接收服务器响应:

    简体中文、中文    权重0.9

    英文              权重0.8

    英语英国          权重0.7

    英语美国          权重0.6

(5)服务器返回到浏览器的状态代码是什么?

服务器返回到浏览器的状态代码:200 OK

(6)你收到的html文件的最新修订时间是多少?

04/09/2024 Tue 05:59:02 GMT

(7)响应的html文件长度是多少?

文件长度:128Byte

(4)启动Wireshark数据包嗅探器。在浏览器中输入以下URL

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html 您的浏览器应显示一个非常简单的五行HTML文件。将捕获结果保存为test2,再次快速地将相同的URL输入到浏览器中(或者只需在浏览器中点击刷新按钮)。停止Wireshark数据包捕获,并在display-filter-specification窗口中输入“http”,以便只捕获HTTP消息,并在数据包列表窗口中显示。将捕获结果保存为test3.回答下列问题

(1)检查第一个从您浏览器到服务器的HTTP GET请求的内容。您在HTTP GET中看到了“IF-MODIFIED-SINCE”行吗?

没有

(2)检查服务器响应的内容。服务器是否显式返回文件的内容? 你是怎么知道的?

是否显示返回文件内容:

首次访问网站需要下载全部html文件(代码)

如图

(3)现在,检查第二个HTTP GET请求的内容。 您在HTTP GET中看到了“IF-MODIFIED-SINCE:”吗? 如果是,“IF-MODIFIED-SINCE:” 头后面包含哪些信息?

是否看到“IF-MODIFIED-SINCE”:

包含哪些信息:上一次HTTP GET请求的时间

(4)针对第二个HTTP GET,从服务器响应的HTTP状态码和短语是什么?服务器是否明确地返回文件的内容?请解释.

状态码:304

短语:Not Modified

服务器是否明确地返回文件的内容:

原因是在本地拥有缓存(从上一次GET以后文件没有任何修改),则不需要从服务器再次下载html文件,因此不明确地返回文件内容,直接读取本地缓存结果即可。

(5)启动您的浏览器。启动Wireshark数据包嗅探器。在浏览器中输入以下URL http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html

停止Wireshark数据包捕获,并在display-filter-specification窗口中输入“http”,以便只显示捕获的HTTP消息。将捕获结果保存为test4.回答下面的问题

(1)您的浏览器发送了几个HTTP GET请求消息? 这些GET请求发送到哪个IP地址?

发送了几个HTTP GET请求:3

这些GET请求发送到哪个IP地址:

128.119.245.12

128.119.245.12

178.79.137.164

2.DNS协议分析

(1)打开wireshark,打开相应接口进行捕获
(2)在windows命令行模式下输入nslookup命令进行DNS解析。解析类型和解析地址自己确定,将命令和解析结果进行截图。

(3)停止捕获,将捕获结果保存为test5,在显示过滤器上输入dns。定位到实验解析的DNS查询报文和查询响应报文,附截图

(4)写下DNS查询的源IP地址、目的IP地址和本主机默认DNS服务器地址。其中目的IP地址是否为默认DNS地址。附截图证明。

源IP:192.168.133.220

目的IP:192.168.133.220

本主机默认DNS服务器地址:192.168.133.96

目的ID地址是否为默认DNS地址:

nslookup中显示的默认DNS服务器:192.168.133.96

DNS请求中显示的Destination均为192.168.133.96

(5)填写相应的DNS报文各字段的值,没有的字段可填无,截图并填写下表

DNS 查询报文:

Identification

0x0002

Flags

0x0100 Standard query

Number of Questions

1

Number of answer RRs

0

Number of authority RRs

0

Number of additional RRs

0

Queries

baidu.com: type A, class IN

Answers

N/A

Authoritative Servers

N/A

Additional records

N/A

DNS响应报文:

Identification

0x0002

Flags

0x8180 Standard query response, No error

Number of Questions

1

Number of answer RRs

2

Number of authority RRs

0

Number of additional RRs

0

Queries

baidu.com: type A, class IN

Answers

baidu.com: type A, class IN, addr 110.242.68.66

baidu.com: type A, class IN, addr 39.156.66.10

Authoritative Servers

N/A

Additional records

N/A

(6)DNS查询报文中包含“answers”吗?DNS响应报文,其中提供了多少个“answers”?每个answers包含哪些资源记录,请解释?

DNS查询报文中不包含answer

DNS响应报文中提供了2个answers

每个answer中包含1个DNS服务器的名称、类型、类、生存时间(TTL)数据长度、地址。

实验总结

1.总结在抓包过程中遇到的问题,你是如何解决这些问题的。

(1)如果后台有其他网页或程序运行,则会出现大量无关实验的包信息干扰实验结果。

解决方法:尽可能地关闭无关网页、后台程序。

(2)如果没有清空缓存,并非首次访问,则可能无法捕获到状态码200,而是304,因为已经在本地形成缓存。

解决方法:需要及时清空浏览器缓存,在清空后捕获首次结果。

2.应用层有哪些代表性协议,传输层有哪些代表性协议,两个层次的联系和区别是什么?

应用层代表协议:

本次实验有关的:HTTP、DNS

其他的:FTP、SMTP、POP3、DHCP、Telnet等

传输层代表协议:

TCP、UDP

两个层次的联系:

应用层向传输层提出数据传输的请求,传输层根据应用层的需求选择合适的传输协议进行数据传输。

两个层次的区别:

服务对象不同。应用层主要为用户应用程序提供服务,如Web浏览、文件传输、电子邮件等;传输层则为应用层提供服务,确保数据在应用程序之间的可靠传输。

功能侧重不同。应用层侧重于提供各种网络应用服务,如HTTP、SMTP、FTP等,这些协议针对不同的应用场景设计;传输层侧重于提供有序、可靠的的数据传输服务,主要有TCP和UDP两种协议,它们为应用层提供基本的数据传输功能。

连接方式不同。应用层协议通常建立在传输层提供的连接之上,例如HTTP/1.1支持持久连接,即在一段时间内保持连接以便多次请求和响应;传输层中的TCP是面向连接的协议,它在通信双方之间建立一个虚拟的连接,确保数据的可靠传输,而UDP是无连接的协议,每个数据报独立传输,不保证数据到达的顺序和完整性。

可靠性不同。应用层协议可以根据需要选择是否使用可靠的数据传输服务,例如HTTP协议可以选择使用TCP作为传输层协议,以确保数据的可靠传输。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 13:12:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 13:12:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 13:12:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 13:12:02       20 阅读

热门阅读

  1. HTML5 Web Workers 详解 (2)

    2024-06-06 13:12:02       9 阅读
  2. 查看 WSL2 (Windows Subsystem for Linux 2) IP 地址

    2024-06-06 13:12:02       6 阅读
  3. 网站企业需要适用于什么服务器?

    2024-06-06 13:12:02       9 阅读
  4. Python编程入门EPUB:探索编程世界的奇幻之旅

    2024-06-06 13:12:02       7 阅读
  5. C语言经典习题20

    2024-06-06 13:12:02       7 阅读
  6. 设计模式之备忘录模式

    2024-06-06 13:12:02       6 阅读