MAC地址
MAC(Media Access Control, 介质访问控制)地址是识别LAN(局域网)节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(IEEE)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
如何获取本机的MAC?
对于数量不多的几台机器,我们可以这样获取MAC地址:在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。即可看到MAC地址。
在Windows 2000/XP中,依次单击“开始”→“运行”→输入“CMD”→回车→输入“ipconfig /all”→回车。即可看到MAC地址。
IP地址就如同一个职位,而MAC地址则好像是去应聘这个职位的人才,职位可以既可以让甲坐,也可以让乙坐,同样的道理一个节点的IP地址对于网卡是不做要求,基本上什么样的厂家都可以用,也就是说IP地址与MAC地址并不存在着绑定关系。本身有的计算机流动性就比较强,正如同人才可以给不同的单位干活的道理一样的,人才的流动性是比较强的。职位和人才的对应关系就有点像是IP地址与MAC地址的对应关系。比如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。当然MAC地址除了仅仅只有这个功能还是不够的,就拿人类社会与网络进行类比,通过类比,我们就可以发现其中的类似之处,更好地理解MAC地址的作用。
无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。其实人类社会和网络也是类似的,试想在人际关系网络中,甲要捎个口信给丁,就会通过乙和丙中转一下,最后由丙 转告给丁。在网络中,这个口信就好比是一个网络中的一个数据包。数据包在传送过程中会不断询问相邻节点的MAC地址,这个过程就好比是人类社会的口信传送过程。相信通过这两个例子,我们就可以进一步理解MAC地址的作用。
与MAC地址相关的命令与软件
在人类社会社交中,我们认识一个人往往只会知道他的姓名,而身份证号码在一般的人际交往中会被忽略。同样在网络中,我们往往只会知道同事或者网友的IP地址,并不会去过多地关心对方的MAC地址。要成长为网络高手,我们可以使用一些方法去了解对方的MAC地址。在这里介绍两种常用的方法,在Windows 9x 中可用WinIPcfg获得,在Windows 2000/XP中可用IPconfig -all获得。
使用命令只能单条获得MAC地址,而且使用起来也是很麻烦的。对于网管人员,更希望有一款简单化操作的软件,我们可以利用“MAC扫描器”远程批量获取MAC地址。它是用于批量获取远程计算机网卡物理地址的一款网络管理软件。该软件运行于网络(局域网、Internet都可以)内的一台机器上,即可监控整个网络的连接情况,实时检测各用户的IP、MAC、主机名、用户名等并记录以供查询,可以由用户自己加以备注;能进行跨网段扫描,能和数据库中得IP和MAC地址进行比较,有修改IP的或使用虚假MAC地址的,都能报警。
更改MAC地址
一般MAC地址在网卡中是固定的,当然也有网络高手会想办法去修改自己的MAC地址。修改自己的MAC地址有两种方法,一种是硬件修改,另外一种是软件修改。
硬件的方法就是直接对网卡进行操作,修改保存在网卡的EPROM里面的MAC地址,通过网卡生产厂家提供的修改程序可以更改存储器里的地址。那么什么叫做EPROM呢?EPROM是电子学中一种存储器的专业术语,它是可擦写的,也就是说一张白纸你用钢笔写了一遍以后就不能再用橡皮擦去了,而EPROM这张白纸用铅笔写后可以再擦去,可以反复改变其中数据的存储器。
当然软件修改的方法就相对来说要简单得多了,在Windows中,网卡的MAC保存在注册表中,实际使用也是从注册表中提取的,所以只要修改注册表就可以改变MAC。Windows 9x中修改:打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Service\Class\Net\下的0000,0001,0002。
Windows 2000/XP中的修改:同样打开注册表编辑器,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Class\4D36E970-E325-11CE-BFC1-08002BE10318 中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面添加字符串变量,命名为“NetworkAddress”,值为要设置的MAC地址,例如:000102030405
完成上述操作后重启就好了。一般网卡发出的包的源MAC地址并不是网卡本身写上去的,而是应用程序提供的,只是在通常的实现中,应用程序先从网卡上得到MAC地址,每次发送的时候都用这个MAC作为源MAC而已,而注册表中的MAC地址是在Windows安装的时候从网卡中读入的,只要你的操作系统不重新安装应该问题不大。
MAC地址的应用
平日身份证的作用并不是很大,但是到了有的关键时刻,身份证就是用来证明你的身份的。比如你要去银行提取现金,这时就要用到身份证。那么MAC地址与IP地址绑定就如同我们在日常生活中的本人携带自己的身份证去做重要事情一样的道理。有的时候,我们为了防止IP地址被盗用,就通过简单的交换机端口绑定(端口的MAC表使用静态表项),可以在每个交换机端口只连接一台主机的情况下防止修改MAC地址的盗用,如果是三层设备还可以提供:交换机端口/IP/MAC 三者的绑定,防止修改MAC的IP盗用。一般绑定MAC地址都是在交换机和路由器上配置的,是网管人员才能接触到的,对于一般电脑用户来说只要了解了绑定的作用就行了。比如你在校园网中把自己的笔记本电脑换到另外一个宿舍就无法上网了,这个就是因为MAC地址与IP地址(端口)绑定引起的。
MAC地址涉及到的安全问题
从上面的介绍可以知道,这种标识方式只是MAC地址基于的,如果有人能够更改MAC地址,就可以盗用IP免费上网了,目前网上针对小区宽带的盗用MAC地址免费上网方式就是基于此这种思路。如果想盗用别人的IP地址,除了IP地址还要知道对应的MAC地址。举个例子,获得局域网内某台主机的MAC地址,比如想得到局域网内名为TARGET主机的MAC地址,先用PING命令:PING TARGET,这样在我们主机上面的ARP表的缓存中就会留下目标地址和MAC映射的记录,然后通过ARP A命令来查询ARP表,这样就得到了指定主机的MAC地址。最后用ARP -s IP 网卡MAC地址,命令把网关的IP地址和它的MAC地址映射起来就可以了。
如果要得到其它网段内的MAC地址,那么可以用工具软件来实现,我觉得Windows优化大师中自带的工具不错,点击“系统性能优化”→“系统安全优化”→“附加工具”→“集群Ping”,可以成批的扫出MAC地址并可以保存到文件。
小知识:ARP(Address Resolution Protocol)是地址解析协议,ARP是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。ARP协议是通过IP地址来获得MAC地址的。
ARP原理:某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后就会进行数据传输。如果未找到,则广播A一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。ARP表:为了回忆通信的速度,最近常用的MAC地址与IP的转换不用依靠交换机来进行,而是在本机上建立一个用来记录常用主机IP-MAC映射表,即ARP表。
如何解决MAC地址带来的安全问题
我们可以将IP地址和MAC地址捆绑起来来解决这个问题。进入“MS-DOS方式”或“命令提示符”,在命令提示符下输入命令:ARP -s 10.88.56.72 00-10-5C-AD-72-E3,即可把MAC地址和IP地址捆绑在一起。这样,就不会出现IP地址被盗用而不能正常使用网络的情况,可以有效保证小区网络的安全和用户的应用。
注意:ARP命令仅对局域网的上网代理服务器有用,而且是针对静态IP地址,如果采用Modem拨号上网或是动态IP地址就不起作用。
不过,只是简单地绑定IP和MAC地址是不能完全的解决IP盗用问题的。作为一个网络供应商,他们有责任为用户解决好这些问题之的后,才交给用户使用,而不是把安全问题交给用户来解决。不应该让用户来承担一些不必要盗用的损失。
作为网络供应商,最常用也是最有效的解决方法就是在IP、MAC绑定的基础上,再把端口绑定进去,即IP-MAC-PORT三者绑定在一起,端口(PORT)指的是交换机的端口。这就需要在布线时候做好端口定时管理工作。在布线时应该把用户墙上的接线盒和交换机的端口一一对应,并做好登记工作,然后把用户交上来的MAC地址填入对应的交换机端口,进而再和IP一起绑定,达到IP-MAC-PORT的三者绑定。这样一来,即使盗用者拥有这个IP对应的MAC地址,但是它不可能同样拥有墙上的端口,因此,从物理通道上隔离了盗用者。
分享到:
相关推荐
在IT领域,MAC地址(Media Access Control address)是网络设备如计算机、路由器、交换机等在局域网(LAN)中的唯一物理...同时,理解MAC地址在网络通信中的角色以及相关的安全问题,有助于提高网络的安全性和效率。
【Mac地址搜索器】是一款专用于搜索局域网内设备MAC地址的工具,它能够帮助用户快速定位网络中的各个设备,对于网络管理、设备监控以及故障...同时,理解并掌握MAC地址的相关知识,对于提升网络管理能力也大有裨益。
本文将深入探讨Java中关于MAC地址的校验、转换、递增以及加密的相关知识点。 1. **MAC地址格式**: MAC地址通常是一个6字节(48位)的二进制数,以16进制表示,每两个字符之间用冒号或破折号分隔,例如`00:11:22:...
在计算机网络编程中,...不过,在特定上下文中,可以通过操作系统提供的功能或第三方库,结合Socket编程的知识,实现获取MAC地址的功能。这个过程通常涉及到对操作系统内部工作原理的理解,以及对相关API的熟练应用。
以下将详细介绍如何在PHP中获取MAC地址以及相关的网络知识。 首先,我们了解MAC地址的基本概念。MAC地址是一个48位的二进制数,通常以12个16进制数字的形式表示,例如`00:11:22:33:44:55`。这些地址由制造商分配,...
7. **隐私与安全**:虽然MAC地址可以提供设备制造商信息,但它们也被视为用户数据的一部分,因此在处理这些信息时必须遵守相关的隐私法规。 8. **MAC地址伪造**:为了保护隐私或者规避某些限制,一些设备或软件允许...
在IT领域,网络接口控制器(NIC)的物理地址,即我们常说的MAC地址,是一个用于标识网络设备的唯一硬件地址。在局域网中,MAC地址是数据链路层通信的关键部分。C#编程语言提供了丰富的功能,允许开发人员进行低级别...
本文将详细介绍如何使用MAC地址修改工具以及相关的知识。 1. MAC地址的基本概念: - MAC地址由6个字节(48位)组成,通常以冒号或破折号分隔的12个十六进制数字表示,如`00:11:22:33:44:55`。 - 每个MAC地址都有...
在.NET开发环境中,获取客户端的IP地址和MAC地址是常见的需求,这主要涉及到网络通信和系统编程的相关知识。本文将详细讲解如何在.NET中实现这一功能,并提供相关的代码示例。 首先,我们要明白IP地址和MAC地址的...
本文将详细介绍如何通过编程来获取MAC地址,并提供相关知识。 首先,获取MAC地址的方法因编程语言的不同而有所差异。在Windows系统中,可以使用C++、C#、Java、Python等语言实现。在Linux或Unix系统中,方法也略有...
这篇“MAC地址完美攻略”文档很可能是深入讲解MAC地址相关知识的综合指南。以下是一些可能涵盖的内容: 1. **MAC地址的结构与分配**:MAC地址由两部分组成,OUI(Organization Unique Identifier)和NIC厂商分配的...
然而,具体到eeupdate工具的详细操作步骤和功能,由于没有提供更详细的信息,我将基于常见的MAC地址修改方法来阐述相关知识。 1. **MAC地址的查看**:在Windows系统中,可以通过命令提示符输入`ipconfig /all`来...
文档中还提供了一些典型的配置案例,帮助网络管理员更好地理解和应用MAC地址表管理的相关知识。 综上所述,MAC地址表管理是网络设备中的核心功能之一,通过对MAC地址表的合理配置和管理,可以提高网络性能和安全性...
总结起来,在Android的JNI环境中获取MAC地址涉及以下几个关键知识点: 1. 使用JNI进行Java与C/C++交互。 2. 编写C/C++代码以执行原生操作。 3. 了解Android系统的权限管理,特别是在Android 6.0及更高版本中。 4. ...
以上就是关于易语言修改网卡MAC地址的基础知识和源码解析,希望对学习易语言的初学者有所帮助。在深入学习时,可以进一步研究易语言的系统服务调用、API接口以及网络编程等相关知识,提升自己的编程能力。
以下是一些关于MAC地址修改和相关知识的详细说明: 1. **MAC地址结构**:MAC地址是48位的二进制数,通常分为6组,每组8位,用冒号或破折号分隔,例如00:11:22:33:44:55。前24位由IEEE分配给设备制造商,后24位由...
在计算机网络领域,MAC(Media Access Control)地址是硬件级别的标识,用于唯一识别网络设备,如网卡。...了解这些知识点后,你可以根据需求选择合适的工具来查看和管理你的网络设备的MAC地址,确保网络的安全和稳定。
本文将详细介绍如何修改网卡的MAC地址,并探讨相关注意事项。 1. **为什么要修改MAC地址?** - **规避限制**:某些网络服务可能会基于MAC地址进行访问控制,如防止蹭网或限制设备数量。 - **匿名性**:在网络活动...
通过学习和使用这个模块,不仅可以提升易语言编程技能,还可以深入了解网络编程和系统调用的相关知识。同时,对于那些希望在易语言环境下进行网络管理软件开发的人来说,这将是一个很好的起点。不过,需要注意的是,...
MAC地址,全称为Media Access Control Address,中文名为媒体访问控制地址,是网络设备硬件层面上的一个唯一...以上内容深入介绍了MAC地址与厂商对应关系的重要性和相关知识点,对于理解和操作这类数据具有指导意义。