WEB开发网      婵犵數濮烽弫鍛婄箾閳ь剚绻涙担鍐叉搐绾剧懓鈹戦悩瀹犲闁汇倗鍋撻妵鍕箛閸洘顎嶉梺绋款儑閸犳劙濡甸崟顖氬唨闁靛ě浣插亾閹烘鈷掗柛鏇ㄥ亜椤忣參鏌″畝瀣暠閾伙絽銆掑鐓庣仭缁楁垿姊绘担绛嬪殭婵﹫绠撻、姘愁樄婵犫偓娴g硶鏀介柣妯款嚋瀹搞儱螖閻樺弶鍟炵紒鍌氱Ч瀹曟粏顦寸痪鎯с偢瀵爼宕煎☉妯侯瀳缂備焦顨嗗畝鎼佸蓟閻旈鏆嬮柣妤€鐗嗗▓妤呮⒑鐠団€虫灀闁哄懐濮撮悾鐤亹閹烘繃鏅濋梺闈涚墕濡瑩顢欒箛鏃傜瘈闁汇垽娼ф禒锕傛煕閵娿儳鍩f鐐村姍楠炴﹢顢欓懖鈺嬬幢闂備浇顫夊畷妯肩矓椤旇¥浜归柟鐑樻尭娴滃綊姊虹紒妯虹仸闁挎洍鏅涜灋闁告洦鍨遍埛鎴︽煙閼测晛浠滃┑鈥炽偢閹鈽夐幒鎾寸彇缂備緡鍠栭鍛搭敇閸忕厧绶炴俊顖滅帛濞呭洭姊绘担鐟邦嚋缂佽鍊垮缁樼節閸ャ劍娅囬梺绋挎湰缁嬫捇宕㈤悽鍛婄厽閹兼番鍨婚埊鏇㈡煥濮樿埖鐓熼煫鍥ュ劤缁嬭崵绱掔紒妯肩畺缂佺粯绻堝畷姗€濡歌缁辨繈姊绘担绛嬪殐闁搞劋鍗冲畷顖炲级閹寸姵娈鹃梺缁樻⒒閳峰牓寮崒鐐寸厱闁抽敮鍋撻柡鍛懅濡叉劕螣鐞涒剝鏂€闂佺粯鍔曞Ο濠囧吹閻斿皝鏀芥い鏃囨閸斻倝鎽堕悙鐑樼厱闁哄洢鍔屾晶顖炴煕濞嗗繒绠婚柡灞界Ч瀹曨偊宕熼鈧▍锝囩磽娴f彃浜炬繝銏f硾椤戝洨绮绘ィ鍐╃厵閻庢稒岣跨粻姗€鏌ㄥ☉妯夹fい銊e劦閹瑩顢旈崟顓濈礄闂備浇顕栭崰鏍礊婵犲倻鏆﹂柟顖炲亰濡茶鈹戦埄鍐ㄧ祷妞ゎ厾鍏樺璇测槈閵忕姈鈺呮煏婢跺牆鍔撮柛鏂款槺缁辨挻鎷呯粙搴撳亾閸濄儳鐭撶憸鐗堝笒閺嬩線鏌熼崜褏甯涢柡鍛倐閺屻劑鎮ら崒娑橆伓 ---闂傚倸鍊搁崐鐑芥倿閿旈敮鍋撶粭娑樺幘濞差亜鐓涢柛娑卞幘椤斿棝姊虹捄銊ユ珢闁瑰嚖鎷�
开发学院网络安全安全技术 ARP缓存表引起的故障及解决方法 阅读

ARP缓存表引起的故障及解决方法

 2008-12-15 13:37:48 来源:WEB开发网 闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鎻掔€梺姹囧灩閻忔艾鐣烽弻銉︾厵闁规鍠栭。濂告煕鎼达紕校闁靛洤瀚伴獮鎺楀箣濠靛啫浜鹃柣銏⑶圭壕濠氭煙閻愵剚鐏辨俊鎻掔墛缁绘盯宕卞Δ鍐冣剝绻涘畝濠佺敖缂佽鲸鎹囧畷鎺戭潩閹典焦鐎搁梻浣烘嚀閸ゆ牠骞忛敓锟�婵犵數濮烽弫鍛婃叏椤撱垹绠柛鎰靛枛瀹告繃銇勯幘瀵哥畼闁硅娲熷缁樼瑹閳ь剙岣胯鐓ら柕鍫濇偪濞差亜惟闁宠桨鑳堕崝锕€顪冮妶鍡楃瑐闁煎啿鐖奸崺濠囧即閵忥紕鍘梺鎼炲劗閺呮稒绂掕缁辨帗娼忛埡浣锋闂佽桨鐒﹂幑鍥极閹剧粯鏅搁柨鐕傛嫹闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷  闂傚倸鍊搁崐鐑芥嚄閼哥數浠氱紓鍌欒兌缁垶銆冮崨鏉戠厺鐎广儱顦崡鎶芥煏韫囨洖校闁诲寒鍓熷铏圭磼濡搫顫岄梺璇茬箲濮樸劑鍩€椤掍礁鍤柛鎾跺枎椤繐煤椤忓嫬鐎銈嗘礀閹冲酣宕滄导瀛樷拺闂侇偆鍋涢懟顖涙櫠椤斿墽纾煎璺猴功缁夎櫣鈧鍠栭…閿嬩繆濮濆矈妲烽梺绋款儐閹瑰洤螞閸愩劉妲堟繛鍡楃箲濞堟﹢姊绘担椋庝覆缂傚秮鍋撴繛瀛樼矤閸撶喖宕洪埀顒併亜閹烘垵鈧綊寮抽鍕厱閻庯綆浜烽煬顒傗偓瑙勬磻閸楀啿顕i崐鐕佹Ь闂佸搫妫寸粻鎾诲蓟閵娾晜鍋嗛柛灞剧☉椤忥拷
核心提示:ARP 缓存表引起的故障 在局域网的管理维护中,网管可能经常碰到用户之间不能互访,ARP缓存表引起的故障及解决方法,或者不能上因特网的问题,一般是IP地址设置错误、相关软件设置错误、网线网卡或其他网络产品坏了,上述方法都不能很好地解决这个问题,实施起来也有一定的难度,但有时在排除以上可能后,问题仍然存在

ARP 缓存表引起的故障

在局域网的管理维护中,网管可能经常碰到用户之间不能互访,或者不能上因特网的问题,一般是IP地址设置错误、相关软件设置错误、网线网卡或其他网络产品坏了。但有时在排除以上可能后,问题仍然存在。这个时候我们可以研究一下用户计算机上的ARP 缓存表是否有问题。

局域网工作原理

众所周知,因特网上计算机相互访问都是通过IP地址(网络地址),但到了局域网,各计算机之间是通过MAC地址(物理地址)来访问的。每台计算机要维持正常的访问,都必须不断地更新自己的ARP缓存表。

如图1所示,PC 1要与PC 2进行数据通信,那么在PC 1的ARP缓存表里就有IP地址和MAC地址。这个缓存表是如何工作的呢?一般是在第一次通信时,通过一个ARP广播请求包来获得,然后就存在缓存表里,在一段时间内如果表中的某一行没有使用,就会被删除,这样大大减小了ARP缓存表的长度,加快查询速度。可能有人要问,以上4台PC都要通过Router上网,那么它们的ARP缓存表里都有Router的MAC地址了。确实如此,用户可以在自己的环境里用“ARP -a”命令一查便知,在各自的ARP缓存表都有“IP地址:192.168. 0.1,MAC地址:00-aa-00-62-c6-04”。

ARP缓存表引起的故障及解决方法

ARP缓存表的错误

局域网中计算机之间的通信,都是通过正确的ARP表来进行数据通信,而且都是系统自动建立维持的。

1.自己的缓存表有错误

比如在图1中,PC 1中的ARP缓存表有这样一个记录。

IP地址:192.168. 0.9

MAC地址:00-aa-00-62-c6-09

很显然,这时PC 1是无法访问PC 2上的数据,但是它可以和PC 3通信,也可以通过Router上因特网。那么这样一个记录是如何来的呢?这时我们应该想到局域网内有恶意程序或者有人在人为操纵。因为一般来讲ARP表是系统自动维护的,但也可以人为制作一个ARP数据包更新缓存表。比如上例中:如果PC 3向PC 1发送一个ARP数据包,告诉它PC 2的MAC地址是00-aa-00-62-c6-09 ,那么在PC 1里就有一个错误的记录。如果PC 3不停地发送,那么PC 1就一直保持这样一个错误记录,也就一直不能访问PC 2上的数据。如果忽略这个错误就会出现,PC 1能访问除PC 2以外的其他任何一台计算机,能上网,而就是无法访问PC 2,但相应的设置又正确无误,想不出来问题到底出在哪里。

2.对方的缓存表有错误

如果PC 1中的ARP缓存表是正确的记录。

IP地址:192.168. 0.9

MAC地址:00-aa-00-62-c6-08

而PC 3向PC 2不停地发送一个ARP数据包,告诉它错误的PC 1的MAC地址,在PC 2的ARP缓存表就一直保持这样一个记录。

IP地址:192.168. 0.2

MAC地址:00-aa-00-62-c6-09

PC 2就无法访问PC 1。

应对措施

目前,对于这种通过ARP数据包欺骗、破坏缓存表没有很好的应对措施。通过实践我认为有以下几种方法可以应对一下。

1.手动更新ARP缓存表

比如上例中,在PC 1中执行“Arp -a 192.168. 0.9 00-aa-00-62-c6-08”的命令。

但如果有程序在不停地发送错误的ARP数据包,这种方法就无法应付了。

2.查出元凶

在PC 1上,执行ping 192.168.0.9 -t的命令,然后让别人在中心机房把网线一根根拔掉,一旦发现能够ping通后,就能通过那条网线,顺藤摸瓜揪出搞破坏的元凶了。这是最笨也是最实用的方法。

上述方法都不能很好地解决这个问题,实施起来也有一定的难度,还好在局域网中这样的问题较少出现。

Tags:ARP 缓存 引起

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接