如何更改/欺骗我的MAC地址并轻松在多个MAC地址之间切换?


42

我的路由器可以基于MAC地址进行端口转发。也就是说,特定的MAC将获得特定的IP,为此我可以配置一组要转发的端口。为了轻松更改该组端口,我想在网络管理器中使用不同的连接。

如何更改网络连接的MAC地址?

Answers:


43

首先,转到网络指示器,然后选择“编辑连接”以配置新连接:

在此处输入图片说明

单击“添加”,然后为欺骗的MAC网络连接选择一个名称。

在此处输入图片说明

在顶部下拉列表中选择接口“ eth0”后,您只需选择所需的任何MAC地址即可:

在此处输入图片说明

连接到它之后,您将使用新的MAC地址。

在此处输入图片说明

运行ip link ls将向您显示新界面,包括欺骗的MAC:

2:eth0:<广播,多播,UP,LOWER_UP> mtu 1500 qdisc mq状态UP qlen 1000
    链接/以太00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff:ff

现在,您可以通过连接到新连接之一轻松地切换MAC地址。


3
是否可以为每个新的连接或登录自动化并随机分配Mac地址?我会将其发布为新问题,但我认为它将被标记为您问题的重复项。
king_julien

4
是的,有一件事叫做macchanger -但我从未尝试过。
Stefano Palazzo

在gnome shell中,我没有选择在eth0上设置另一个接口。您能描述一下幕后发生的事情,以及如何通过终端来实现吗?thx
drevicko 2014年

在带有WiFi网络的Ubuntu 14.04中,这似乎不起作用,NetworkManager只是拒绝连接到我选择用来修改MAC的WiFi网络(通过“克隆的MAC地址”文本框):(
knocte

2
不幸的是,这在Ubuntu 16.04中不起作用。
onknows

10

您也可以通过终端在ubuntu或linux mint上更改mac地址

转到您的ubuntu或linux mint终端,编辑/ etc / network / interfaces文件

$ sudo nano /etc/network/interfaces

您应该看到在网络接口上启用了dhcp的情况。通常它的eth0用于ubuntu或linux mint有线网络,而wlan0则用于ubuntu或linux mint无线网络。

auto eth0
iface eth0 inet dhcp

在/ etc / network / interfaces文件的末尾,添加此行以为系统的网络接口提供新的MAC地址。

hwaddress ether A4-19-E2-94-DD-BB

使用新的配置保存/ etc / network / interfaces文件,然后重新启动系统网络。

$ sudo /etc/init.d/networking restart

要么

$ sudo service networking restart

http://namhuy.net/1890/how-to-change-mac-address-on-ubuntu.html


这在Ubuntu 14.04中不起作用,sudo /etc/init.d/networking restart给出stop: Job failed while stopping,即使您使用NetworkManager重新启动网络,ip link ls也不会显示正在使用的新MAC(尽管使用wifi wlan0而不是eth0进行测试)
knocte

试试sudo service network-manager restart
ArcaneDominion

10

您可以尝试macchanger在存储库中使用。sudo apt-get install macchanger通过Ubuntu软件中心或通过Ubuntu软件中心进行安装。

$ macchanger
GNU MAC Changer
Usage: macchanger [options] device

Try `macchanger --help' for more options.
tvbox@tvbox-G31M-ES2L:~$ macchanger --help
GNU MAC Changer
Usage: macchanger [options] device

  -h,  --help                   Print this help
  -V,  --version                Print version and exit
  -s,  --show                   Print the MAC address and exit
  -e,  --ending                 Don't change the vendor bytes
  -a,  --another                Set random vendor MAC of the same kind
  -A                            Set random vendor MAC of any kind
  -p,  --permanent              Reset to original, permanent hardware MAC
  -r,  --random                 Set fully random MAC
  -l,  --list[=keyword]         Print known vendors
  -b,  --bia                    Pretend to be a burned-in-address
  -m,  --mac=XX:XX:XX:XX:XX:XX
       --mac XX:XX:XX:XX:XX:XX  Set the MAC XX:XX:XX:XX:XX:XX

向其授予了CLI实用程序。


4

macchanger每次使用udev规则连接网络时,进行安装并使其运行。创建以下文件:

## File name /etc/udev/rules.d/70-macchanger.rules
## Set Mac Address for Network Adapters
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*" RUN+="/usr/bin/macchanger -m XX:XX:XX:XX:XX:XX %k"
ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*" RUN+="/usr/bin/macchanger -m XX:XX:XX:XX:XX:XX %k"

用所需的Mac地址替换XX:XX:XX:XX:XX:XX:XX。(注意:某些地址无效)


2

在Ubuntu 14.04中,提出的许多解决方案都不适用于我,而macchanger并没有提供很多细节,因此我在这里写对我有用的解决方案(如果您的wifi网络接口称为wlan0),简单地是:

sudo apt-get install macchanger
sudo service network-manager stop
sudo macchanger -A wlan0
sudo service network-manager start

更新:在Ubuntu 16.04中,我上面的解决方案不再起作用,但是,已接受的答案有效(当时,在Ubuntu 14.04中,已接受的答案不适用于我)。


1
knocte的解决方案对我有用。我唯一剩下的问题是指定一个特定的MAC地址。这是软件包中macchanger用于选择MAC地址的终端命令:<pre> macchanger --mac = XX:XX:XX:XX:XX:XX eth0 </ pre>您也可以使用easy软件包macchanger-gtk
安德鲁·怀亚特

@AndrewWyatt如果这对您
有用
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.