热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux使用NetworkManager随机生成你的MAC地址

今天小编就为大家分享一篇关于使用NetworkManager随机生成你的MAC地址的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

今时今日,无论在家里的沙发上,还是在外面的咖啡厅,只要打开笔记本电脑,连上 Wi-Fi,就能通过网络与外界保持联系。但现在的 Wi-Fi 热点们大都能够通过 每张网卡对应的唯一 MAC 地址 来追踪你的设备。下面就来看一下如何避免被追踪。
现在很多人已经开始注重个人隐私这个问题。个人隐私问题并不仅仅指防止他人能够访问到你电脑上的私有内容(这又是另一个问题了),而更多的是指 可追踪性(legibility),也就是是否能够被轻易地统计和追踪到。大家都应该 对此更加重视 。同时,这方面的底线是,服务提供者在得到了用户的授权后才能对用户进行追踪,例如机场的计时 Wi-Fi 只有在用户授权后才能够使用。
因为固定的 MAC 地址能被轻易地追踪到,所以应该定时进行更换,随机的 MAC 地址是一个好的选择。由于 MAC 地址一般只在局域网内使用,因此随机的 MAC 地址也不大会产生冲突 。

NetworkManager简介

NetworkManager由一个管理系统网络连接、并且将其状态通过D-BUS(是一个提供简单的应用程序 互相通讯的途径的自由软件项目,它是做为freedesktoporg项目的一部分来开发的。)进行报告的后台服务,以及一个允许用户管理网络连接的客户 端程序。
NetworkManager服务:NetworkManager - Linux Networking made Easy
NetworkManager的优点:简化网络连接的工作,让桌面本身和其他应用程序能感知网络。
NetworkManager的后台服务:对于GNOME和Xfce那就是nm-applet工具,而对于KDE用户来说就是KNetworkManager。
早期版本的NetworkManager(早期称为NetworkMangler,即网络磨肉机)使用很不方便,但是现在其已经成为了一个强大的工具,让管理网络不再痛苦。

NetworkManager 新版本的改进和新功能

NetworkManager 新版本支持更多的的网络设备有关。从0.8.1开始增加了用于GSM、UMTS和CDMA卡等移动宽带设备ModemManager的支持。使用 ModemManager也有新的功能,比如信号强度显示和选择2G/3G模式的功能。还可以关掉漫游功能以避免产生额外的连接费用;
NetworkManager 0.8.1后还支持使用蓝牙,不仅支持个人区域网络(PAN)上网,也支持老的蓝牙拨号网络(DUN)协议。所有(或者说最多)支持的设备可以在wiki上找到;
NetworkManager支持IPv6的自动配置和静态IP;NetworkManager 新版本还会带来IPv6的DHCP支持
NetworkManager 新版本增强设备以及协议的支持,NetworkManager 最新版有一个全新的漂亮的客户端界面。
命令行接口:NetworkManager 最新版的最大特征:命令行工具命令,一个NetworkManager的命令行接口。
NetworkManager有自己的CLI工具:nmcli。使用nmcli用户可以查询网络连接的状态,也可以用来管理。优点:原始;语法相对简单;在CLI中使用NetworkManager很容易掌握。

配置 NetworkManager

要将随机的 MAC 地址默认地用于所有的 Wi-Fi 连接,需要创建 /etc/NetworkManager/conf.d/00-macrandomize.conf 这个文件:

[device]
wifi.scan-rand-mac-address=yes
[connection]
wifi.cloned-mac-address=stable
ethernet.cloned-mac-address=stable
connection.stable-id=${CONNECTION}/${BOOT}

然后重启 NetworkManager :

systemctl restart NetworkManager

以上配置文件中,将 cloned-mac-address 的值设置为 stable 就可以在每次 NetworkManager 激活连接的时候都生成相同的 MAC 地址,但连接时使用不同的 MAC 地址。如果要在每次激活连接时也获得随机的 MAC 地址,需要将 cloned-mac-address 的值设置为 random。

设置为 stable 可以从 DHCP 获取相同的 IP 地址,也可以让 Wi-Fi 的 强制主页 (captive portal)根据 MAC 地址记住你的登录状态。如果设置为 random ,在每次连接的时候都需要重新认证(或者点击“我同意”),在使用机场 Wi-Fi 的时候会需要到这种 random 模式。可以在这篇 NetworkManager 的 博客文章 中参阅到有关使用 nmcli 从终端配置特定连接的详细说明。

使用 ip link 命令可以查看当前的 MAC 地址,MAC 地址将会显示在 ether 一词的后面

$ ip link
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0:  mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:5f:d5:4e brd ff:ff:ff:ff:ff:ff
3: wlp1s0:  mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 52:54:00:03:23:59 brd ff:ff:ff:ff:ff:ff

什么时候不能随机化 MAC 地址

在某些情况下确实需要能被追踪到。例如在家用网络中,可能需要将路由器配置为对电脑分配一致的 IP 地址以进行端口转发;再例如公司的雇主可能需要根据 MAC 地址来提供 Wi-Fi 服务,这时候就需要进行追踪。要更改特定的 Wi-Fi 连接,请使用 nmcli 查看 NetworkManager 连接并显示当前设置:

$ nmcli c | grep wifi
Amtrak_WiFi 5f4b9f75-9e41-47f8-8bac-25dae779cd87 wifi --
StaplesHotspot de57940c-32c2-468b-8f96-0a3b9a9b0a5e wifi --
MyHome e8c79829-1848-4563-8e44-466e14a3223d wifi wlp1s0
...
$ nmcli c show 5f4b9f75-9e41-47f8-8bac-25dae779cd87 | grep cloned
802-11-wireless.cloned-mac-address: --
$ nmcli c show e8c79829-1848-4563-8e44-466e14a3223d | grep cloned
802-11-wireless.cloned-mac-address: stable

这个例子在 Amtrak 使用完全随机 MAC 地址(使用默认配置)和 MyHome 的永久 MAC 地址(使用 stable 配置)。永久 MAC 地址是在硬件生产的时候分配到网络接口上的,网络管理员能够根据永久 MAC 地址来查看 设备的制造商 ID 。

更改配置并重新连接活动的接口:

$ nmcli c modify 5f4b9f75-9e41-47f8-8bac-25dae779cd87 802-11-wireless.cloned-mac-address random
$ nmcli c modify e8c79829-1848-4563-8e44-466e14a3223d 802-11-wireless.cloned-mac-address permanent
$ nmcli c down e8c79829-1848-4563-8e44-466e14a3223d
$ nmcli c up e8c79829-1848-4563-8e44-466e14a3223d
$ ip link
...

你还可以安装 NetworkManager-tui ,就可以通过可视化界面菜单来编辑连接。

当你走在路上时,你要留意周围的环境,并警惕可能的危险。同样,在使用公共互联网资源时也要注意你自己的可追踪性。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接


推荐阅读
  • 明特量化1、分析如下代码,编译运行后的结果()publicstaticvoidmain(String[]argsÿ ... [详细]
  • shell-【技术干货】工作中编写shell脚本实践-web洋仔-CSDN博客https:blog.csdn.netCSDN___LYYarticledetail ... [详细]
  • PostGIS 安装教程(Linux)(二)
    ##接上篇,上篇讲述了Postgresql的安装,此篇介绍postgis的安装##附上上篇链接:https:www.cnblogs.co ... [详细]
  • 如何尽量处理TIMEWAIT过多?
    如何尽量处理TIMEWAIT过多?编辑内核文件etcsysctl.conf,加入以下内容:net.ipv4.tcp_syncookies1表示开启SYNCookies。当出现SYN ... [详细]
  • 一、echo设置字体颜色表示方法echo–e“\033[3#;4#;#语句\033[0m”3#,代表控制前景色4#,代表控制背景色#,代表字符格式(加粗、下划线、闪烁等)3#中的# ... [详细]
  • #include#include#include#include#include ... [详细]
  • 一.MySQL密码的恢复方法之一如果忘记了MySQL的root密码,可以用以下方法重新设置:1.切换到root下suroot2.KILL掉系统里的MyS ... [详细]
  • vi常用命令行1.vi模式a)一般模式:vi处理文件时,一进入该文件,就是一般模式了.b)编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作。等按下‘i,I, ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 背景:今天去起某个服务器的Rabbitmq,提示could_not_write_file,问了相关人员也不知道咋解决。学习了下Linux文 ... [详细]
  • c语言写界面和图形界面,「分享」C语言如何编写图形界面
    该楼层疑似违规已被系统折叠隐藏此楼查看此楼贴吧内经常有人问C语言是不是只能用于字符终端界面开发,不能用于图形界面。大家也都有回答,需要其他的库。MFC& ... [详细]
  • Ubuntu系统(一)安装篇
    Ubuntu系统介绍及安装从网上下载Ubuntu的iso镜像文件。刻录到光盘。安装步骤1、将Ubuntu光盘插入光驱,设置光驱启动2、启动界面1、选择English& ... [详细]
  • 20172305 201720182 《程序设计与数据结构》第一周学习总结
    20172305 201720182 《程序设计与数据结构》第一周学习总结 ... [详细]
  • 一、权限:一,不使用--auth1.首先,不使用--auth参数启动MongoDB:.mongodb-linux-i686-3.0.0binmongod-fmongodb-linu ... [详细]
  • zabbix 自定义监控
    配置自定义监控,我们需要配置监控项的key,和监控项返回的value添加自定义监控key的格式,在配置文件中添加UserParameter ... [详细]
author-avatar
在刀尖上起舞66_596
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有