计算机网络:利用ethereal分别对TCP套接字的实现及UDP套接字的实现捕包分析 ;利用ethereal分析协议HTTP、FTP和DNS

实验内容

  1. 利用ethereal分别对TCP套接字的实现及UDP套接字的实现捕包分析
  2. 利用ethereal分析协议HTTP、FTP和DNS

实验目的

1、 分析HTTP协议
2、 分析DNS协议
3、 分析TCP套接字的实现及UDP套接字的实现

实验预备知识

  1. HTTP协议
  2. DNS协议
  3. TCP报文
  4. UDP报文

实验过程描述

实验一:HTTP GET/response交互

(1) 启动Web browser。
(2) 启动Ethereal分组嗅探器。在窗口的显示过滤说明处输入“http”
(3) 开始Ethereal分组俘获。
(4) 在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件):
http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html
(5) 停止分组俘获。
抓到两个包如下:
在这里插入图片描述
在这里插入图片描述

实验二:Ethereal分组俘获

(1) 启动浏览器,清空浏览器的缓存
(2) 启动Ethereal分组俘获器。开始Ethereal分组俘获。
(3) 在浏览器的地址栏中输入以下URL: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file2.html
(4) 在浏览器中重新输入相同的URL
(5) 停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”
实验结果如下:
在这里插入图片描述

实验三:获取长文件

1.启动浏览器,将浏览器的缓存清空。
2.启动Ethereal分组俘获器。开始Ethereal分组俘获。
3.在浏览器里输入
http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file3.html
浏览器将显示一个相当大的美国权力法案。
4.停止Ethereal分组俘获,在显示过滤筛选说明处输入http
实验结果如下:
在这里插入图片描述

实验四:嵌有对象的HTML文档

1.启动浏览器,将浏览器的缓存清空。
2.启动Ethereal分组俘获器。开始Ethereal分组俘获。
3.在浏览器的地址栏中输入以下URL: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file4.html,浏览器将显示一个具有两个图片的短HTTP文件
4.停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
实验结果:
在这里插入图片描述

实验五:HTTP认证

1.启动浏览器,将浏览器的缓存清空。
2.启动Ethereal分组俘获器。开始Ethereal分组俘获。
3.在浏览器的地址栏中输入以下URL: http://gaia.cs.umass.edu/ethereal-labs/protected_pages/HTTP-ethereal-file5.html,浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:eth-students,密码:networks)。
4.停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”
实验结果:
在这里插入图片描述

实验六:跟踪DNS

  1. 以管理员身份进入Dos环境,用ipconfig /flushdns清空主机上DNS缓存
  2. 启动浏览器,将浏览器的缓存清空
  3. 启动Ethereal分组俘获器,在显示过滤筛选说明处输入“ip.addr==10.236.134.77”
  4. 开始Ethereal分组俘获
  5. 在浏览器的地址栏中输入:http://www.ietf.org
  6. 停止分组俘获

实验结果:
在这里插入图片描述

实验七

1.开始Ethereal分组俘获。
2.在DOS上执行命令:nslookup www.mit.edu。
3.停止分组俘获。
实验结果:
在这里插入图片描述

实验八

重复上面的实验,只是将命令替换为:nslookup –type=NS mit.edu
在这里插入图片描述

实验九

重复上面的实验,只是将命令替换为:nslookup www.aiit.or.kr bitsy.mit.edu
结果如下:
在这里插入图片描述

实验结果

实验一结果

在这里插入图片描述
在这里插入图片描述
1.你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?
我的浏览器和服务器所运行的HTTP的版本都是HTTP1.1
在报文里找到如下字段:
在这里插入图片描述
2.你的浏览器向服务器指出它能接收何种语言版本的对象?
zh-CN
在报文里找到如下字段:

在这里插入图片描述
3. 你的计算机的IP地址是多少?服务器gaia.cs.umass.edu的IP地址是多少?
我的IP是10.236.134.77 服务器的IP是128.119.245.12

4.从服务器向你的浏览器返回的状态代码是多少?
200

5.你从服务器上所获取的HTML文件的最后修改时间是多少?
在这里插入图片描述
6.返回到你的浏览器的内容一共多少字节?
在这里插入图片描述
126字节

实验二结果

在这里插入图片描述
7.分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?
没有

8.分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?
明确返回了
在这里插入图片描述
371字节,内容如下
在这里插入图片描述
9.分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?
在这里插入图片描述
浏览器再次请求服务器的时候,包含if-Modified-Since:,后面跟着的信息是在缓存中获得的最后修改时间。

10.服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。
在这里插入图片描述
状态码是:304
没有返回,因为服务器把收到的if-Modified-Since和Last-Modified做对比,一致,说明没有被修改,就返回304浏览器只需要从缓存中获取信息即可。

实验三实验结果

在这里插入图片描述
11.你的浏览器一共发出了多少个HTTP GET请求?
一个 GET请求

  1. 承载这一个HTTP响应报文一共需要多少个data-containing TCP报文段?
    四个 如下:
    在这里插入图片描述
    13.与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么? 200 OK

实验四实验结果:
在这里插入图片描述
14.你的浏览器一共发出了多少个HTTP GET请求?这些请求被发送到的目的地的IP地址是多少?
发出了三个HTTP GET请求,目的地址的IP:128.119.245.12
;128.119.245.12;159.182.31.51

15.浏览器在下载这两个图片时,是串行下载还是并行下载?请解释。
串行下载,看下图所示抓到的包,都是一个HTTP GET一个响应报文再下一个HTTP GET…按先后排序的,所以是串行。
在这里插入图片描述

实验五结果

在这里插入图片描述
16.对于浏览器发出的最初的HTTP GET请求,服务器的响应是什么(状态代码和状态短语)?
状态码:401 状态短语:Unauthorized

  1. 当浏览器发出第二个HTTP GET请求时,在HTTP GET报文中包含了哪些新的字段?
    Authorization和Credentials
    在这里插入图片描述

实验六跟踪DNS结果

在这里插入图片描述
(18)定位到DNS查询报文和查询响应报文,这两种报文的发送是基于UDP还是基于TCP的?
都是基于UDP的
在这里插入图片描述
在这里插入图片描述
(19)DNS查询报文的目的端口号是多少?DNS查询响应报文的源端口号是多少?des-port:53 src-port:51036
在这里插入图片描述
(20)DNS查询报文发送的目的地的IP地址是多少?利用ipconfig命令(ipconfig/all)决定你主机的本地DNS服务器的IP地址。这两个地指相同吗?
DNS报文发送的目的地的IP:211.137.191.26

在这里插入图片描述
发现相同
(21)检查DNS查询报文,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?
两个查询报文,一个是A类查询(IPv4),一个是AAAA类查询(IPv6),查询报文不包含“answers”

在这里插入图片描述
在这里插入图片描述
(21)检查DNS查询响应报文,其中提供了多少个“answers”?每个answers包含哪些内容?提供了4个,具体包含如下:
在这里插入图片描述
(22)考虑一下你的主机发送的subsequent(并发)TCP SYN分组, SYN分组的目的IP地址是否与在DNS查询响应报文中提供的某个IP地址相对应?
看这个AAAA类的DNS查询响应报文中的地址,可以和SYN分组的目的地址对应

如下:
在这里插入图片描述
(24)打开的WEB页中包含图片,在获取每一个图片之前,你的主机发出新的DNS查询了吗?
没有

实验七实验结果

在这里插入图片描述
(25)DNS查询报文的目的端口号是多少?DNS查询响应报文的源端口号是多少?
DNS查询报文的目的端口号和DNS查询响应报文的源端口号都是 53

(26)DNS查询报文发送的目的地的IP地址是多少?这个地址是你的默认本地DNS服务器的地址吗?
目的IP在这里插入图片描述
是默认的本地DNS服务器的地址,因为抓包前没有清DNS缓存,上个实验访问过一次了

(27)检查DNS查询报文,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?
查询报文有A类的也有AAAA类的,查询报文不包含answers
(28)检查DNS查询响应报文,其中提供了多少个“answers”?每个answers包含哪些内容?提供了三个answers,内容如下:

在这里插入图片描述

实验八实验结果

在这里插入图片描述
(29)DNS查询报文发送的目的地的IP地址是多少?这个地址是你的默认本地DNS服务器的地址吗?
目的IP是211.137.191.26是本地DNS服务器地址
(30)检查DNS查询报文,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?NS类的,不包含
(31)检查DNS查询响应报文,其中响应报文提供了哪些MIT名称服务器?响应报文提供这些MIT名称服务器的IP地址了吗?如下图,没有提供IP
在这里插入图片描述

实验九实验结果

在这里插入图片描述
(32)DNS查询报文发送的目的地的IP地址是多少?这个地址是你的默认本地DNS服务器的地址吗?如果不是,这个IP地址相当于什么?DNS查询报文发送的目的地的IP见上图
本地DNS服务器:
在这里插入图片描述
从抓到的包来看DNS查询报文是先向三个本地DNS服务器发,但是由于抓包前清空了本地DNS缓存,所以返回的响应报文里面没有answers,然后,发现DNS查询报文又向IP为18.72.0.3服务器发包。

(33)检查DNS查询报文,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?
向本地DNS服务器发送的DNS查询报文有A类的也有AAAA类的,不包含answers。向18.72.0.3发送的DNS查询报文为PTR类的还有A类和AAAA类的,不包含answers。

(34)检查DNS查询响应报文,其中提供了多少个“answers”?每个answers包含哪些内容?
有一个answers 内容如下:
在这里插入图片描述

实验当中问题及解决方法

1、不明白什么是DNS的查询类型
解决:百度
DNS的查询类型有20种,比较常用的查询类型有有A,NS,CNAME,PTR,MX等五种类型。
1)A:由DNS域名到IP地址的查询,即正向查询,编程中由函数gethostbyname实现。
2)PTR:由IP到域名的查询,即逆向查询,编程中由函数gethostbyaddr。
3)NS:查询解析的名字服务器(Name server)。
4)CNAME:查询DNS的别名。
5)MX:邮箱服务器查询。

2. 在做实验八实验九的时候,总是出现DNS请求超时解析不不来的问题。如下:
在这里插入图片描述
解决方法:更换DNS服务器
Ipconfig /all 查到DNS服务器有四个——2001:da8:7007:107::66
;2001:da8:7007:107::77;211.137.191.26;202.102.154.3
每个试一遍发现有一个好用的。
在这里插入图片描述
4. 安装java虚拟机,运行TCPClient和TCPServer和UDP Client和UDP Server进行相应的捕包,出现了下面的报错;
在这里插入图片描述
原因是看TCP Server代码,服务器端口是一直开着的,客户端收到大写转小写就把端口关了,如果重复运行TCPServer.java的话会报错,因为端口被重复多次使用,解决方法就是换一个端口号。
5. 运行TCPClient和TCPServer和UDP Client和UDP Server进行相应的捕包,发现用校园网不行,得用自己手机的热点才能捕到包
6. 如果运行TCPClient和TCPServer在同一个主机上是捕不到包的,应该是进程间相互通信,不通过网络。

  • 11
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

20230921

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值