0

使用 OSX 10.5。不再可能使用“ifconfig en0 laddr/ether XX:YY:....”来欺骗有线接口(例如 en0)的 MAC 地址

a/这是为什么?

b/ 尽管是由例如 VMware "vmnet-xxx" 守护程序完成的,但它是如何完成的?

c/ 有谁知道 Apple Developer 软件包是否包含有关 mach 内核设备接口的详细和有用的信息?例如设备驱动程序示例代码等?

非常感谢你

格鲁兹

4

3 回答 3

1

A:这可能是出于工作场所安全原因的更改(这只是纯粹的猜测,可能是也可能不是真的),因为它似乎是驱动程序问题(这在 Tiger 中是可能的,我从经验中知道) . 在无线接口 en1 上仍然可以这样做。即使物理接口不支持它,设备也可以进入“监控”模式,并在 IP 链的更高层进行 MAC 地址匹配。我们将不得不拭目以待,看看苹果对此会做些什么。

B:那些守护进程将您的有线网络置于“监控”模式,基本上它的作用是告诉您的网卡您希望发送给您的所有内容都由操作系统处理,因此它会关闭在网卡(如果它支持的话)通常会丢弃不属于自己的东西(它的 MAC 地址),然后它在软件中完成这一切,使用操作系统提供的标准过滤钩子它可以监听任何传入的数据包并从网络上抓取那些发往 VMWare 设置的假 MAC 地址的那些。

用外行术语解释:假设您坐在机场并等待可以登机的通知,您被动地听但忽略不包含您的航班号的所有内容。现在其他人出现并要求您也收听他们的航班号,现在您必须积极倾听,因为您不能只过滤一个航班号。

C: 是的,除此之外,您还可以找到代码示例和参考手册。它们也都可以在线获得,如果它们是由 Apple 开发的,您也可以在线找到大多数设备驱动程序的代码。文档相当不错,但是我注意到在某些领域缺少它,这让我很难弄清楚我需要做什么才能完成某件事。Developer.apple.com 的概念网络设备驱动程序Darwin的源代码也可以在http://www.opensource.apple.com/darwinsource/找到,只要允许 Apple 将它们作为开源发布(Yukon2 驱动程序),您就可以找到大多数 Mac OS X 的设备驱动程序不包括在内)

于 2009-03-02T11:24:38.457 回答
0

对我有用的是,启动到一个 linux 发行版,在那里更改 mac 地址,以便你有一个工作的互联网连接,重新启动到 mac os x(尝试使用 10.5.5),mac 仍然是来自 linux 的欺骗 - 使用我的电脑,它甚至可以在系统重新启动/关闭时工作

更具体地说,我用ubuntu 8.04(我相信)试过这个,在那里改变mac地址:

sudo ifconfig eth0 关闭

须藤 ifconfig eth0 硬件以太 000102020405

须藤 ifconfig eth0 向上

当然,您需要用您要使用的真实 MAC 替换 000102020405,请注意,对于其他发行版,甚至是不同版本的 ubuntu,MAC 欺骗过程可能会略有不同(您需要重新启动连接等) - 魔术这个技巧的关键在于它实际上可以在实时发行版上运行,所以你不需要安装任何东西,但我从未尝试过

祝你好运

于 2009-05-03T06:35:13.953 回答
0

我有运行 OSX 10.9 的 MacBookPro Retina 2013 年末,我可以做到!

我尝试的第一件事是以前在 linux 上对我有用的东西:

sudo -s
ifconfig en0 down
ifconfig en0 lladdr aa:bb:cc:dd:ee:ff
ifconfig en0 up

但是,这在我的机器上会导致 ioctl 错误(电源已关闭)

因此,经过大量实验后,我认为您必须在接口启动时更改 mac 地址,但在机场实用程序未使用它时。这说起来容易做起来难!我将这些命令放在一起并调整延迟,直到我的 mac 成功更改 - 这对我有用:

ifconfig en0 down; sleep 0.5; ifconfig en0 up; sleep 2;\
ifconfig en0 lladdr aa:bb:cc:dd:ee:ff; ifconfig en0

您可能需要更改您的延误,以便在机场开始之前赶上它。希望这会有所帮助!

编辑:您可能通过“nofu”所说的引导 linux 获得成功,但是在 MacBookPro 上设置双引导很麻烦,所以请告诉我这种“睡眠方法”是否适合您、延迟以及 OSX 的版本.

于 2014-09-16T20:47:43.997 回答