@SovietPower
2021-11-25T15:04:32.000000Z
字数 2032
阅读 1089
CN
启动 wireshark,选择 WLAN,设置过滤器为 icmp,关闭混杂模式,勾选 MAC 地址解析(或者在捕获-选项
中设置并选择 WLAN)。
开始捕获后,ping www.baidu.com
,然后停止捕获。
IEEE 802.3
和DIX Ethernet
。 IEEE 802.3
不太常见,一般捕获到的都是DIX Ethernet
,在Wireshark中写为Ethernet II
。0x0800
的帧代表IP协议帧;类型字段值为0806
的帧代表ARP协议帧。DMAC | SMAC | Type | Data | FCS |
---|---|---|---|---|
header | payload |
每个以太网帧包含一个DMAC和SMAC。SMAC是本机的地址,但DMAC不一定是远程服务器的地址(比如在ping一个远程服务器时),因为以太网帧只在一个局域网内走。DMAC是路由器的Ethernet地址或默认网关,也就是用来将当前所在的局域网和整个互联网相连的设备地址。
而IP部分的两个32位地址,确实是发送端口和接收端口的地址。
要求:
画出能表示 本机、路由器、远程服务器 相对位置的图,并在对应位置标记Ethernet的DMAC, SMAC,和IP中的端口地址。
在以太网中,单播、组播和广播通信会使用不同的 DMAC 地址。
单播 unicast
DMAC地址是帧从一台发送设备发送到一台目的设备时使用的唯一地址。
组播 multicast
组播地址允许源设备向一组设备发送数据包。属于某一组播组的设备都被分配了该组播组 IP 地址。
组播地址的范围为224.0.0.0
到239.255.255.255
,即一定以01-00-5E
开头。所以DMAC第8位(第1个字节的最低位)一定为,可以说广播是组播的一种特殊情况。这位1也可用于区分单播和广播/组播。
由于组播地址代表一组地址(有时称为主机组),因此只能用作数据包的目的地址。源地址始终为单播地址。
组播地址常用于远程游戏中,许多玩家远程连接同一个游戏并玩该游戏;通过视频会议远程学习也使用组播地址,许多学生连接到同一个课程。
广播 broadcast
广播的DMAC地址为全1,即ff:ff:ff:ff:ff:ff
,表示本地网络(广播域)中的所有主机都将接收和处理该数据包。
ARP协议使用广播,所以ARP中的Target MAC address,也为全1,即Broadcast (ff:ff:ff:ff:ff:ff)
。
MAC层的广播是DMAC为48个1,MAC层的组播为DMAC第一个字节最低位是1。
IP的广播有三种:
255.255.255.255
:本地广播,也叫直接,不能跨路由广播。
172.16.53.255
:子网广播,广播给子网172.16.53.255
,可以跨路由广播。
172.16.255.255
:全子网广播,广播给子网172.16.0.0
,可心跨路由广播。
也就是说,路由器并不是隔离所有广播。子网广播和全子网广播对应的目的MAC是单播,所以路由器会转发。路由器隔离的广播是目的MAC为全1的广播,对于目的MAC是单播的 上层广播,路由器是不能隔离的。
获取广播包
选择过滤器ether multicast
,等待。
问题1
Wireshark上的广播以太网地址的标准格式是什么?
ff:ff:ff:ff:ff:ff
。
问题2
DMAC中的哪一位用于区分单播和广播/组播?
第8位(第1个字节的最低位):为0时为单播,为1时为广播/组播。
.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)