华东师范大学软件学院实验报告
一、实验目的
了解 ARP 的工作原理。
二、使用内容与实验步骤
- 捕获
- 使用
ifconfig
指令查找电脑的以太网地址。 - 使用
route
指令查看默认网关 ip 地址。 - 启动 Wireshark ,将过滤器设置为
arp
,开始捕获。 - 使用
arp -a
指令查看 ARP 缓存,并使用sudo arp -d 网关ip地址
从缓存中清除默认网关。 - 使用浏览器浏览网页一段时间。
- 在捕获到 arp 流量后停止捕获。
- 使用
- 检查捕获
- 将页面内的过滤器设置为
eth.addr == 电脑以太网地址
。 - 查看捕获到的内容
- 将页面内的过滤器设置为
- ARP 请求与应答 绘制计算机与默认网关之间发送 ARP 请求与回复数据包的图解。
- 以太网上的 ARP 详细信息
回答以下问题
- 什么操作码用于请求,什么操作码用于回复。
- 请求的 ARP 报头有多大?回复的 ARP 报头有多大?
- 对于未知目标 MAC 地址的请求中携带什么值?
- 什么以太网类型值表明 ARP 是更高级协议?
- ARP 回复是否为广播?
三、实验环境
- 实验仪器:ThinkPad X230i
- 操作系统:Arch GNU/Linux x86_64
- 以太网控制器:Intel Corporation 82575LM Gigabit Network Connection
- 网络控制器:Realtek Semiconductor Co., Ltd. RTL8188CE 820.11b/g/n WiFi Adapter
- 网络连接:校园网ECNU-1X
四、实验过程与分析
-
捕获
-
执行
ifconfig
指令,得到的输出如下:enp0s25: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 3c:97:0e:27:a3:96 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf2500000-f2520000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1511 bytes 158325 (154.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1511 bytes 158325 (154.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.31.215.159 netmask 255.255.0.0 broadcast 172.31.255.255
inet6 fe80::eb67:d196:62b:626a prefixlen 64 scopeid 0x20<link>
ether e0:06:e6:c4:be:04 txqueuelen 1000 (Ethernet)
RX packets 4206 bytes 2310892 (2.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4771 bytes 2531632 (2.4 MiB)
TX errors 0 dropped 76 overruns 0 carrier 0 collisions 0在
wlan0
下的ether
一行可以得知计算机以太网地址为e0:06:e6:c4:be:04
。 -
执行
route
指令,得到的输出如下:Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 600 0 0 wlan0
172.31.0.0 0.0.0.0 255.255.0.0 U 600 0 0 wlan0可以得知默认网关的 ip 地址为
172.31.0.0
。 -
启动捕获。
-
执行
arp -a
指令,得到输出_gateway (172.31.0.1) at 54:c6:ff:7b:38:02 [ether] on wlan0
。随后执行sudo arp -d 172.31.0.1
指令清除缓存,该指令没有输出,若重复执行,则会得到No ARP entry for 172.31.0.1
输出。 -
在观察到已经捕获 7 个 ARP 流量包后停止捕获,其界面如图:
-
-
检查捕获
因为捕获到的包数量较少,故不设置过滤器。
请求包:
回复包:
-
ARP 请求与回复
其图例如下 -
以太网上的 ARP 详细信息
- 请求的操作码为
0x0001
,回复的操作码为0x0002
。 - 请求与回复的的 ARP 报头均为 28 bytes,对于报文,请求的报文为 42 bytes,回复的报文为60 bytes。
- 目标 MAC 地址为
00:00:00_00:00:00
。 - 以太网报头中的
type
字段为0x0806
。 - ARP 回复为单播而非广播。
- 请求的操作码为