分类

安卓应用安卓游戏攻略资讯

首页>资讯教程>网管知识

MAC地址完美攻略教你如何防止IP被盗用及绑定IP

作者:未知   来源: JZ5U整理   日期:2014/09/23 23:35:06
最近突然突然想恶补下网络知识.所以找了些资料学习了下,感觉这是篇精华的文章,所以特整理编辑下,发上来给大家分享学习下,当然老鸟们也表取笑喔.温故而知新嘛.推荐给象我这样的菜鸟们学习交流下.
文章共分为八个部分..加上偶自己整里的一些名词和命令的解释.方便大家理解.

正文部分出处:天极网.
文子编辑整理上传龙族(转帖请注明出自龙族,谢谢!~)


QUOTE:

一、基础知识
二、什么是MAC地址
三、IP地址与MAC地址的区别
四、为什么要用到MAC地址
五、怎样获得自己的MAC地址
六、MAC地址涉及到的安全问题
七、如何修改自己的MAC地址
八、如何解决MAC地址带来的安全问题


QUOTE:


QUOTE:
一、基础小知识(具体的概念正文中会运用到,方便大家读的时候理解就先注释!~)

1.Ping

  适用环境:WIN95/98/2000/NT

  使用格式:ping [-t] [-a] [-n count] [-l size]

  参数介绍:

  -t 让用户所在的主机不断向目标主机发送数据

  -a 以IP地址格式来显示目标主机的网络地址

  -n count 指定要ping多少次,具体次数由后面的count来指定

  -l size 指定发送到目标主机的数据包的大小

  主要功能:用来测试一帧数据从一台主机传输到另一台主机所需的时间,从而判断主响应时间。

  详细介绍:

  该命令主要是用来检查路由是否能够到达,由于该命令的包长非常小,所以在网上传递的速度非常快,可以快速地检测你要去的站点是否可达,一般你在去某一站点时可以先运行一下该命令看看该站点是否可达。如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线是否连通,网络适配器配置是否正确,IP地址是否可用等;如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证当前主机与目的主机间存在一条连通的物理路径。它的使用格式是在命令提示符下键入:Ping IP地址或主机名,执行结果显示响应时间,重复执行这个命令,你可以发现Ping报告的响应时间是不同的。具体的ping命令后还可跟好多参数,你可以键入ping后回车其中会有很详细的说明。

  举例说明:

  当我们要访问一个站点例如 net时,就可以利用Ping程序来测试目前连接该网站的速度如何。执行时首先在Windows 9x系统上,单击“开始”键并选择运行命令,接着在运行对话框中输入Ping和用户要测试的网址,例如ping cheng.net,接着该程序就会向指定的Web网址的主服务器发送一个32字节的消息,然后,它将服务器的响应时间记录下来。Ping程序将会向用户显示4次测试的结果。响应时间低于300毫秒都可以认为是正常的,时间超过400毫秒则较慢。出现“请求暂停(Request time out)”信息意味着网址没有在1秒内响应,这表明服务器没有对Ping做出响应的配置或者网址反应极慢。如果你看到4个“请求暂停”信息,说明网址拒绝Ping请求。因为过多的Ping测试本身会产生瓶颈,因此,许多Web管理员不让服务器接受此测试。如果网址很忙或者出于其他原因运行速度很慢,如硬件动力不足,数据信道比较狭窄,过一段时间可以再试一次以确定网址是不是真的有故障。如果多次测试都存在问题,则可以认为是用户的主机和该网址站点没有联接上,用户应该及时与因特网服务商或网络管理员联系。


QUOTE:
  2.winipcfg (ipconfig /all)

  适用环境:WIN95/98/2000

  使用格式:winipcfg [/?] [/all]

  参数介绍:

  /? 显示winipcfg的格式和参数的英文说明

  /all 显示所有的有关IP地址的配置信息

  主要功能:显示用户所在主机内部的IP协议的配置信息  

  详细介绍:

  winipcfg程序采用windows窗口的形式来显示IP协议的具体配置信息,如果winipcfg命令后面不跟任何参数直接运行,程序将会在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,还可以查看主机的相关信息如:主机名、DNS服务器、节点类型等。其中网络适配器的物理地址在检测网络错误时非常有用。在命令提示符下键入winipcfg/?可获得winipcfg的使用帮助,键入winipcfg/all可获得IP配置的所有属性。

  举例说明:

  如果我们想很快地了解某一台主机的IP协议的具体配置情况,可以使用winipcfg命令来检测。其具体操作步骤如下:在“运行”对话框中,直接输入winipcfg命令,接着按一下回车键,我们就会看到一个界面。在该界面中,我们了解到目前笔者所在的计算机是用的3COM类型的网卡,网卡的物理地址是00-60-08-07-95-14,主机的IP地址是210.73.140.13,子网掩码是255.255.255.192,路由器的地址是210.73.140.1,如果用户想更加详细地了解该主机的其他IP协议配置信息,例如DNS服务器、DHCP服务器等方面的信息,可以直接单击该界面中的“详细信息”按钮。


QUOTE:
3.ARP命令的介绍
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表。
所使用的到以太网的 IP 或令牌环物理地址翻译表。ARP该命令只有在安装了 TCP/IP 协议之后才可用。
   

arp -a [inet_addr] [-N [if_addr]]

arp -d inet_addr [if_addr]

arp -s inet_addr ether_addr [if_addr]

参数

-a 通过询问 TCP/IP 显示当前 ARP 项。如果指定了 inet_addr,则只显示指定计算机的 IP 和物理地址。

-g 与 -a 相同。

inet_addr 以加点的十进制标记指定 IP 地址。

-N 显示由 if_addr 指定的网络界面 ARP 项。

if_addr 指定需要修改其地址转换表接口的 IP 地址(如果有的话)。如果不存在,将使用第一个可适用的接口。

-d 删除由 inet_addr 指定的项。

-s 在 ARP 缓存中添加项,将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的 6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的,即在超时到期后项自动从缓存删除。

ether_addr指定物理地址。


QUOTE:
4,关于物理层,数据链路层等OSI模型概念的解释说明.为了实现异种计算机网络的互连,OSI把整个网络的功能结构划分为7层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 如图:screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://www.supinfo-projects.com/cn/2004/g%5Fj%5Ff%5Fn/picture/1.2.2.gif');}" src="http://www.supinfo-projects.com/cn/2004/g%5Fj%5Ff%5Fn/picture/1.2.2.gif" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>
[文章导读]

如果你是通过校园网或小区接入Internet,那么一定听说过MAC地址。什么是MAC地址,MAC地址在这种局域网环境中究竟起到什么作用?
[正文]
如果你是通过校园网或小区接入Internet,那么一定听说过MAC地址。什么是MAC地址,MAC地址在这种局域网环境中究竟起到什么作用?下面就来介绍一下MAC地址的知识,MAC地址和IP地址的区别以及MAC地址在实际应用中所涉及到的安全问题

一、基础知识
  如今的网络是分层来实现的,就像是搭积木一样,先设计某个特定功能的模块,然后把模块拼起来组成整个网络。局域网也不例外,一般来说,在组网上我们使用的是IEEE802参考模型,从下至上分为:物理层、媒体接入控制层(MAC),逻辑链路控制层(LLC)。

  标识网络中的一台计算机,一般至少有三种方法,最常用的是域名地址、IP地址和MAC地址,分别对应应用层、网络层、物理层。网络管理一般就是在网络层针对IP地址进行管理,但由于一台计算机的IP地址可以由用户自行设定,管理起来相对困难,MAC地址一般不可更改,所以把IP地址同MAC地址组合到一起管理就成为常见的管理方式。

二、什么是MAC地址

  MAC地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。MAC地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的MAC地址,它由厂商写在网卡的BIOS里。MAC地址可采用6字节(48比特)或2字节(16比特)这两种中的任意一种。但随着局域网规模越来越大,一般都采用6字节的MAC地址。这个48比特都有其规定的意义,前24位是由生产网卡的厂商向IEEE申请的厂商地址,目前的价格是1000美元买一个地址块,后24位由厂商自行分配,这样的分配使得世界上任意一个拥有48位MAC地址的网卡都有唯一的标识。另外,2字节的MAC地址不用网卡厂商申请。

  MAC地址通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。

三、IP地址与MAC地址的区别

  IP地址基于逻辑,比较灵活,不受硬件限制,也容易记忆。MAC地址在一定程度上与硬件一致,基于物理,能够标识具体。这两种地址各有好处,使用时也因条件而采取不同的地址。
四、为什么要用到MAC地址  
这是由组网方式决定的,如今比较流行的接入Internet的方式(也是未来发展的方向)是把主机通过局域网组织在一起,然后再通过交换机和Internet相连接。这样一来就出现了如何区分具体用户,防止盗用的问题。由于IP只是逻辑上标识,任何人都随意修改,因此不能用来标识用户;而MAC地址则不然,它是固化在网卡里面的。从理论上讲,除非盗来硬件(网卡),否则是没有办法冒名顶替的(注意:其实也可以盗用,后面将介绍)。
  基于MAC地址的这种特点,局域网采用了用MAC地址来标识具体用户的方法。注意:具体实现:在交换机内部通过“表”的方式把MAC地址和IP地址一一对应,也就是所说的IP、MAC绑定。
  具体的通信方式:接收过程,当有发给本地局域网内一台主机的数据包时,交换机接收下来,然后把数据包中的IP地址按照“表”中的对应关系映射成MAC地址,转发到对应的MAC地址的主机上,这样一来,即使某台主机盗用了这个IP地址,但由于他没有这个MAC地址,因此也不会收到数据包。发送过程和接收过程类似,限于篇幅不叙述。
  综上可知,只有IP而没有对应的MAC地址在这种局域网内是不能上网的,于是解决了IP盗用问题。
五、怎样获得自己的MAC地址
  MAC地址固化在网卡中的BIOS中,可以通过DOS命令取得。Win9x用户可以使用winipcfg命令,Win2k/XP用户可以使用ipconfig/all命令,其中用16进制表示的12位数就是MAC地址(图1)。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://myhard.yesky.com/image20010518/178603.jpg');}" src="http://myhard.yesky.com/image20010518/178603.jpg" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>
图1

六、MAC地址涉及到的安全问题
  从上面的介绍可以知道,这种标识方式只是MAC地址基于的,如果有人能够更改MAC地址,就可以盗用IP免费上网了,目前网上针对小区宽带的盗用MAC地址免费上网方式就是基于此这种思路。如果想盗用别人的IP地址,除了IP地址还要知道对应的MAC地址。举个例子,获得局域网内某台主机的MAC地址,比如想得到局域网内名为TARGET主机的MAC地址,先用PING命令:PING TARGET,这样在我们主机上面的ARP表的缓存中就会留下目标地址和MAC映射的记录,然后通过ARP A命令来查询ARP表,这样就得到了指定主机的MAC地址(图2)。最后用ARP -s IP 网卡MAC地址,命令把网关的IP地址和它的MAC地址映射起来就可以了。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://myhard.yesky.com/image20010518/178604.jpg');}" src="http://myhard.yesky.com/image20010518/178604.jpg" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>
图2
如果要得到其它网段内的MAC地址,那么可以用工具软件来实现,我觉得Windows优化大师中自带的工具不错,点击“系统性能优化”→“系统安全优化”→“附加工具”→“集群Ping”(图3),可以成批的扫出MAC地址并可以保存到文件。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://myhard.yesky.com/image20010518/178606.jpg');}" src="http://myhard.yesky.com/image20010518/178606.jpg" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>
图3
七、如何修改自己的MAC地址

  MAC地址是固化在网卡中的,MAC地址具有唯一性,难道没有办法更改了么?不是的,我们完全不用修改EPROM的内容,而只通过修改存储单元的内容就能达到修改MAC地址的目的。例如在Windows中可以通过注册表来修改。

  在“开始”菜单的“运行”中输入regedit.exe,打开注册表编辑器,展开注册表到:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}子键,在子键下的0000,0001,0002等分支中查找DriverDesc(如果你有一块以上的网卡,就有0001,0002……在这里保存了有关你的网卡的信息,其中的DriverDesc的内容就是你的网卡的信息描述,比如我的网卡就是Intel 21041 based Ethernet Controller),在这里假设你的网卡在0000子键。

  在0000子键下添加一个字符串,命名为“NetworkAddress”,键值为修改后的MAC地址,要求为连续的12个16进制数。然后在“0000”子键下的NDI\params中新建一项名为NetworkAddress的子键,在该子键下添加名为“default”的字符串,键值为修改后的MAC地址。

  在NetworkAddress的子键下继续建立名为“ParamDesc”的字符串,其作用为指定NetworkAddress的描述,其值可为“MAC Address”。这样以后打开网络邻居的“属性”,双击相应的网卡就会发现有一个“高级”设置,其下存在MAC Address的选项,它就是你在注册表中加入的新项NetworkAddress,以后只要在此修改MAC地址就可以了。

  关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项,用于直接修改MAC地址。

  当然,你还可以用工具软件来修改网卡的MAC地址,如MAC2001这款软件就可以达到我们的目的。
八、如何解决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地址,但是它不可能同样拥有墙上的端口,因此,从物理通道上隔离了盗用者。
  我想通过上面的介绍大家对MAC地址也有些了解吧!提醒大家 应该学以致用,千万不要用来整别人啊!

文章推荐

应用推荐

网友评论