arp -a命令的通俗解释

ARP -A,查询系统中缓存的ARP表。ARP表用来维护IP地址与MAC地址的一一对应。 

比方说,某推拿室总有30名服务员,为了方便管理,服务员都编了号,由01编到30。客人们都只记得服务员的编号。我去这个桑拿房,因为25号技术特好,我就对前台的说:我要25号来给我做推拿。这时前台的管理人员脑子里有一张表,知道25号具体是哪个服务员,于是叫了那个服务员来给我做推拿。当然,为了防止忘记,抽屉里还放了纸质的一张编号和人名对应的表。 

上面说的这个编号相当于计算机网络里的IP地址,而服务员的人名就是MAC地址,又叫物理地址,是一个网络节点的真正唯一标识。上面前台脑子里的编号和人名对应的表就是ARP表,但是有时是不全的,可能他只记得刚刚叫过的几个服务员的编号。这是缓存在本地的ARP表,是为了加快速度,避免每次都得拉抽屉看纸的麻烦的。而抽屉里的那张表保存有所有编号和人名的表,这样的ARP表往往保存在路由设备上,当路由转发数据时使用,也供其他网络节点查询。 

计算机网络通讯时使用IP地址表示通讯的发起端和接收端,但当数据真正要发到哪个目的地的时候,还得根据IP地址查到MAC地址,根据MAC地址投递这个数据才能真正把数据送到。因此,要确认哪个IP是哪个MAC地址所有的,就得维护一张表,这张表就是ARP表。而ARP -A就是查询你当前的系统缓存了的ARP表,列出IP地址和MAC地址(前台脑子里的服务员编号表),如下: 

(IP) (MAC) (类型) 
Internet Address Physical Address Type 
192.168.0.254 00-01-02-9a-3f-5d dynamic 
192.168.0.3 00-e0-33-9b-0f-5c dynamic 

现在,你也该知道有一种病毒是ARP欺骗的,他的原理是什么了: 
明明25号服务员叫李小明的,病毒就告诉前台,25号服务员不是李小明了,是胡丁丁。结果呢,当我下次来叫25号服务员的时候,前台就给我错误地分配了一个服务员,甚至可能因为根本不存在胡丁丁,前台找不到一个服务员来(这前台可够笨的)。有时候这个病毒更麻烦,还直接修改了放在抽屉里的那个表,让前台根深蒂固地以为25号的确换了人了。 

反映到计算机网络上,就是ARP表被篡改了,使得电脑找不到通向目的地的真正的合法MAC地址,信息传达不出去或者传达错误。传达不出去,就会表现为网络不通了,你上网上不了了。传达错误,有可能传达的数据被人恶意截走(被ARP伪装的计算机截走)。如果你传达的是QQ的帐号和密码,可能就会发生QQ帐号被盗的情况。

你可能感兴趣的:(网络编程)