cod*_*low 4 networking security mac-address
我只是在研究 Network+ 一书,其中使用块来表示一组位来解释 Frame 的内容。继续前进,它指出第一个“块”是收件人的 MAC 地址。之后的块是发送方的 MAC 地址。
我想知道是否有可能在发送帧之前拦截帧,在发送帧之前将发送者的 MAC 清零(或随机写入一个而不是您的实际 MAC)?
通过以太网- 是的,包括其以太网报头在内的整个帧由您的操作系统发送,操作系统决定使用哪个源 MAC 地址。
事实上,虚拟机系统(如 VMware 或 Hyper-V)已经使用它来将虚拟机连接到你的真实局域网——你可能有多个虚拟机连接到一个以太网卡上,每个虚拟机都有自己的 MAC 地址,独立于主机.
Linux、FreeBSD、Windows 甚至可以选择创建将多个物理以太网接口连接在一起的“桥接”,就像真正的以太网交换机一样工作(即使使用 VLAN 和 RSTP)。
您可以更改网络接口的 MAC 地址(告诉操作系统对其传输的所有内容使用新地址),也可以使用单个程序中的“原始套接字”来制作和发送您喜欢的任何内容,绕过 TCP/IP 堆栈. 对于后者,请使用现有工具,例如 libpcap、Scapy或 Nemesis。
在 Linux 上,ip link将更改 MAC 地址直到下次重新启动:
# ip link set eth0 down
# ip link set eth0 addr ab:cd:ef:ab:cd:ef
# ip link set eth0 up
Run Code Online (Sandbox Code Playgroud)或者使用 scapy 发送单个数据包:
>>> send(Ether(src="ab:cd:ef:ab:cd:ef", dst="ff:ff:ff:ff:ff:ff")/IP(src="1.2.3.4", dst="3.4.5.6")/UDP(dport=9)/b"hello")
Sent 1 packets.
Run Code Online (Sandbox Code Playgroud)Linux 甚至具有“macvlan”功能,可以在同一物理以太网卡上创建具有不同 MAC 的虚拟接口:
# ip link add fred0 link eth0 type macvlan mode private
Run Code Online (Sandbox Code Playgroud)Wi-Fi 的限制要多一些——您不能发送带有欺骗源的单个数据包,因为 AP 会跟踪与其关联的所有站点,并且 (AFAIK) 会丢弃来自不在“关联站点”中的任何 MAC 地址的数据包“ 列表。
(这是从站点的角度来看的。AP 可以为所欲为——毕竟代表有线设备发送数据包是他们工作的一部分。)
但是,您仍然可以在无线接口上设置不同的 MAC 地址,并将该新地址用于所有内容,从与 AP 的关联/身份验证开始。
但是,与以太网不同的是,这样做的能力取决于特定的无线硬件和驱动程序(例如 Atheros 通常支持这一点,而某些 Realtek 卡可能不支持)。在 Linux 上,相同的ip link …命令应该可以工作。
也就是说,有多种方法可以通过 Wi-Fi 实现第 2 层桥接(例如,如果您需要通过定向无线电链路连接整个建筑物)。
(好吧,这现在有点偏离主题,但为了完整性而包括在内。)
它比以太网稍微复杂一点,因为原始源(生成数据包的主机)和发射器(传输数据包的 Wi-Fi 无线电)有不同的概念;类似地,接收器(接收数据包的 Wi-Fi 无线电)和最终目的地(将读取/使用数据包的主机)。
例如,如果计算机 A(例如膝上型电脑)通过 WiFi 向计算机 B 发送数据包,它将具有以下标头:
请注意只有一个“发件人”地址,假设常规 Wi-Fi 站永远不会代表其他设备发送数据包。这为每个数据包节省了 6 个字节。
从 AP 到站点是相反的——有两个“发件人”地址,“原始发件人”和“传输 AP”,但只有一个“收件人”地址。
因此,当您需要通过 Wi-Fi桥接两个以太网网络时,您需要“WDS”又名“4addr”模式,这会导致所有四个地址(两个源和两个目的地)与每个 Wi-Fi 帧一起发送。对此的支持各不相同。在 Linux 上,您可以通过iw.
需要注意的是WDS / 4addr模式必须启用这两个目的。
一些系统——例如 VirtualBox 或 Ubiquiti airMAX 无线电(当配置为没有 WDS 的站时)或相同配置中的 OpenWRT——支持 MAC 地址转换:在站自己的 MAC 地址之间伪装多个客户端,很像 IPv4 NAT,但在低等级。这无需任何配置即可工作,并且可能更有效;然而,如果 DHCP 服务器之类的东西依赖于客户端的 MAC 地址不同,它确实会产生问题。
(这实际上与我们开始的相反——一个 MAC 后面有多个设备,而不是一个具有多个 MAC 的设备——所以让我们到此为止。)
我不确定蓝牙。AFAIK,大多数适配器不会让您更改或以其他方式欺骗其 MAC 地址,因为它是所有通信使用的唯一寻址方法 - 设备通过其 MAC 地址相互识别,并根据 MAC 地址存储链接密钥......无论如何. 不是我的地区。
| 归档时间: |
|
| 查看次数: |
13315 次 |
| 最近记录: |