任务描述
本关任务:对 ARP 协议进行分析。
相关知识
为了完成本关任务,你需要掌握:
- 如何抓取 ARP 命令的包;
- 协议的简单分析。
ARP报文
报文格式
抓取APR命令的包
在任务三的基础上,清除你的 ARP 缓存,接下来,确保浏览器的缓存是空的。打开URL:http://gaia.cs.umass.edu/wireshark-labs/HTTP-ethereal-lab-file3.html
。同样设置不显示 IP 和更高层协议,您现在 Wireshark 窗口应该如下所示:
简单的ARP协议分析
在 ARP 中发送了 2 种不同的报文,分别是,从源到目的地和从目的地到源。发送方是发送报文,目标方是接收报文。发送方和目标方的身份对每个报文都不一样,根据具体的情况而定:
-
对发送方来说:
请求
:发送方是源,目标方是目的地回答
:发送方是目的地,目标方是源发送方硬件地址
:ARP 报文中发送方的第 2 层地址发送方协议地址
:ARP 报文中发送方的第 3 层地址 -
对目标方来说:
请求
:目标方是源,发送方是目的地回答
:目标方是目的地,发送方是源目标方的硬件地址
:ARP 报文中目标方的第 2 层地址目标方的协议地址
:ARP 报文中目标方的第 3 层地址
展开 Etnernet 的头部,我们可以看到包含 ARP 请求消息的以太网帧中源地址和目标地址的十六进制:
太网帧上层协议:
找到 ARP 的操作码(Opcode)我们可以看到操作码字段的值是 1,也可计算出 ARP 操作码字段开始从以太网帧的最开始有15+6=21个字节
:
而 ARP 消息包含发送方的 IP 地址:
使用git将本地文件推送到远程仓库永久保存
评测通关后,需要推送文件到远程仓库,请在评测通关后,执行以下操作:
-
在桌面空白处点击鼠标右键,点击“在此打开终端”,通过代码
cd /data/workspace/myshixun/
,进入到实训代码仓库; -
执行 git 命令:
git add .
git commit -m "Fisrt commit"
git push origin master
"Fisrt commit"相当于备注,可以是其它内容。这里需要输入 educoder 的用户名和密码,用户名输入 educoder 平台的登录用户名、手机号或者邮箱,密码输入 educoder 平台的登录密码,按照提示输入即可。
注意:密码输入过程中 Shell 窗口并不会显示输入的字符,正常输入后回车即可,注意不能使用退格键。
操作要求
双击打开桌面上的工作区文件夹workspace
,再打开实训文件夹myshixun
,并打开其中的文件message-4.txt
,将查询的信息保存到文件message-4.txt
。然后进行如下操作:
(1)打开 Wireshark ,加载实训文件夹中的ethernet-ethereal-trace-1
文件,进行分析;
(2)筛选 ARP 数据报,并找到 request(请求)消息;
(3)查看包含 ARP 请求消息的以太网帧中源地址和目标地址的十六进制值是什么?填写到文件中;
(4)请问在进行 ARP 请求的以太网帧的 ARP 负载部分中,操作码字段的值是多少?从操作码段开始以太网帧的最开始有多少字节?填写到文件中;
(5)ARP 消息是否包含发送方的 IP 地址?(填写"是/否"),填写到文件中;
(6)筛选 ARP 数据报,并找到 reply(回复)消息;
(7)包含 ARP 回复消息的以太网帧中的源地址和目标地址的十六进制值是多少?填写到文件中;
(8) 保存文件并使用 git 将文件 message-4.txt
推送到远程仓库,此步骤不影响评测。
message-4.txt