计算机网络 lab4 ARP

一、实验目的

1. 学会通过Wireshark获取ARP消息;ARP:地址解析协议
2. 掌握ARP数据包结构
3. 掌握ARP数据包各字段的含义
4. 了解ARP协议适用领域

二、实验步骤

0. Network Setup;
1. Capture a Trace;
2. Inspect the trace;
3. ARP request and reply;
4. Details of ARP over Ethernet;
5. Explore on your own;

三、实验环境

· wireshark;
· arp:command line utility命令行程序。用于inspect检查、clear清除计算机上的ARP协议使用的缓存。arp作为OS的一部分安装在计算机上,不同OS系统使用不同参数。要求管理员权限才可以清除cache缓存。
· ufcibfug-Windows / ipconfig-Mac/Linux:命令行程序。检查计算机网络接口状态。也是作为OS一部分安装在计算机上。
· route-Windows / netstat-Mac/Linux:命令行程序。检查计算机使用的路由。key route 是默认路由(或前缀0.0.0.0) 使用默认网关访问Internet远程部分。
· Browser:本次实验用web浏览器获得页面作为工作负载。

四、实验过程与分析

0. Network Setup 设置网络

在操作过程中观察ARP地址解析协议。
本地IP地址典型例子:
        本地路由器or默认网关(将我的计算机连接到Internet其他部分)。我的计算机将这些translation缓存在ARP cache中,从而ARP协议只需要偶尔进行translation。

· ARP  Address Resolution Protocol 地址解析协议:实现IP 地址à 物理地址(e.g. MAC地址)。
大部分计算机程序利用IP地址收发消息,但实际通信发生在物理层,利用物理的MAC地址,IP地址—ARP—>MAC地址(hardware address)

1. Capture a Trace 捕获

1.ipconfig/all 命令获得Ethernet address即MAC地址。
2. netstat -r命令获得我的计算机访问Internet其他部分的本地路由器/默认网关的IP地址。默认情况下,网关与IP地址0.0.0.0相对应。
3.启动wireshark,取消混杂模式,使用arp过滤器开始捕获。
4.arp -a命令显示 arp cache中内容;
管理员模式下打开cmd,用arp -d命令清除arp cache中的default gateway默认网关。
5. 清除arp cache后,用web浏览器获取一个远程页面;
这将使ARP得到默认网关的以太网地址MAC地址,从而能够发送数据包,wireshark捕获;
ARP packets被发送到广播地址时,其他计算机的ARP流量会被捕获,因为在这种情况下,广播(发送给所有计算机),包括我的计算机(我在运行wireshark的这台计算机);
ARP行为发生的比较慢,需要等待30 seconds↑。
6. 捕获了一部分ARP流量之后,停止捕获。
下一步需要:trace跟踪 + 我的电脑的Ethernet address + 默认网关的IP address。

2. Inspect the Trace 检查捕获

ARP exchange

1. 在捕获的诸多ARP包中,先浅浅看一下直接从我计算机发出的、直接发给我计算机的ARP包,我的电脑的Ethernet address 4C-D5-77-B7-87-D9。

关于MAC地址不同的问题:

ECNU校园网下wireshark捕获的包中物理地址不是我电脑的4C-D5-77-B7-87-D9,而是40-06-d5-a2-fb-02。但宿舍网中wireshark捕获的包物理地址即ipconfig/all命令显示的4C-D5-77-B7-87-D9。
ipconfig/all命令显示的4C-D5-77-B7-87-D9:是我的电脑网卡生产时固定了的MAC地址,不可以更改的。
在校园网中,申请开户时管理员会开启我的网络端口,并在我第一次使用ECNU校园网时绑定我电脑的MAC地址(不是我的学号什么的)。
参考华为客服的解答:

 启用过滤器筛选eth.addr==4c-d5-77-b7-87-d9

 

2. 两种ARP包:request请求/reply应答。
· request请求包:info内容:who has + 我的默认网关MAC地址xx.xx.xx.xx ? Tell yy.yy.yy.yy。

 · reply应答包:info内容:IP地址xx.xx.xx.xx is at 自己的MAC地址a:b:c:d:e:f

 

ARP各字段内容

· Hardware type 硬件类型 2B:设置成常量1,告知硬件是以太网;
· Protocol type 协议类型 2B:0x0800,明确协议为IP协议;
· Hardware size 硬件大小 1B:6;
· Protocol size 协议大小 1B:4;若=6即IPv6协议;
· Opcode 2B:操作码,区别是1=request请求包 or 2=reply回复包;
· sender MAC address 6B:发送方的MAC地址;
· sender IP address 4B:发送方的IP地址;
· target MAC address 6B:目标MAC地址;在request包中发送方还不知道目标MAC地址,所以全0不填;
· target IP address 4B:目标IP地址;

3. ARP request and reply

Turn-in: Hand in your drawing of the ARP exchange.

 

4. Details of ARP over Ethernet;

Turn-in: Hand in your answers to the above questions.

  1. What opcode is used to indicate a request? What about a reply?
    request:opcode = 1;
    reply: opcode = 2;
  2. How large is the ARP header for a request? What about for a reply?
    request 和 reply 的ARP header都是28B,28字节。
    28B = 2B硬件类型 + 2B协议类型 + 1B硬件大小 + 1B协议大小 + 2B opcode
       + 6B 发送方MAC地址+ 4B发送方IP地址 + 6B目标MAC地址 + 4B目标IP地址
  3. What value is carried on a request for the unknown target MAC address?
    00-00-00-00-00-00;
  4. What Ethernet Type value which indicates that ARP is the higher layer protocol?
    0x0806

     
  5. Is the ARP reply broadcast (like the ARP request) or not?
    ARP reply不是广播的,是单播的,单独发送给请求的地址。

 

5. Explore on your own

取消筛选器之后,观察到还有其他ARP。

requestARP的info:“谁有PC3的MAC地址?请告诉PC1”
· request的功能:获取target MAC地址
· request以广播的形式发送出去,其余计算机接收到这个请求之后,检查目的MAC地址与自己的是否匹配,匹配成功则将这个源MAC、源IP记录到ARP缓存表中,reply单播回应。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值