全面披露:我是一名学生,是的,我正在研究实验报告对于我的互联网安全课程,但这不是一个直接的实验室问题 - 我只是好奇想更多地了解我所看到的输出。
我使用 Kevin Du 教授的SEED 实验室虚拟机10.0.2.4
。我在机器 A和机器 B上设置了两台 Ubuntu 机器10.0.2.5
。然后我尝试10.0.2.7
从机器 A ping。我得到以下输出:
在 Wireshark 上,我注意到正在发送 ARP 数据包,要求提供 的 MAC 地址。我理解这是因为机器 A在尝试 ping 该特定 IP 时10.0.2.7
不知道 的 MAC 地址(并且它收到,因为没有机器响应该特定 ARP 请求)。10.0.2.7
Destination not reachable
这意味着没有10.0.2.7
发送任何发往 的数据包。但是,我在机器 B ( 10.0.2.5
) 上编写了一个小型嗅探程序,使用pcap
目标 IP 为 的数据包10.0.2.7
,我确实嗅探到了发往该方向的数据包:
但是,我这里有两个问题:
是什么
PcsCompu_88:8c:cc
?那是我的机器的 MAC 地址吗10.0.2.4
?如果是,为什么显示的是 MAC 地址而不是机器 A 的 IP 地址10.0.2.4
?Wireshark 何时选择显示 MAC 地址而不是 IP 地址?为什么机器 B 仍然嗅探到发往 的数据包流量
10.0.2.7
?我在 Wireshark 中看到的只有来自机器 B 的 ARP 广播,询问 的 MAC 地址10.0.2.7
。
答案1
MAC 地址为 6 个字节,由 3 个字节的制造商和 3 个字节的唯一设备部分组成。PcsCompu 是查找制造商字节的结果。88:8c:cc 是第二个三个字节。
ARP 数据包在第 2 层运行,因为它们用于第 3 层 (IP) 通信的信息尚未可用时。WireShark 将显示数据包的所有标头字段。如果是 IP 数据包,它将显示源 IP 地址。
网络上唯一的数据包是 ARP,它会被广播到子网上所有主机并被接收。