|
作者:蓝色烟火 转自黑基bbs原创作品版
9 ^5 n( Q; ]1 D版权归黑客基地所有, 转载请注明出处 7 U6 [- P: T* r9 ?2 B' a! `
网络简介 - i) R& e+ u) z. w. }
8 U" r3 J0 m0 @& z8 g) q5 U0 k" V6 w' r8 T
作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 " h: W; R' y B5 u R- l
2 W! L0 ]) T6 n- f" S/ ?) x
+ P. { `* F; P" l! B1 X0 G# y& J- @. l( {
问题的提出
. v3 d$ q3 }: m8 o( E8 g
3 y7 s' i4 t: C3 h& b5 q0 b$ k0 ~# R! ]5 m
我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。
% R' h* V/ v- g* s& _
3 x% u8 Z& f: A7 x8 k; h0 v- ]% P% K) c" V* L& ^6 o. ?
?0 K+ _4 a6 B( V% I. ^8 }9 D 分析原因
3 {4 r5 F) N4 w
. _0 c) X% h% @2 O$ S. A- y# q' _. n5 z
4 a, |( [8 a, H! N8 M# h4 S+ }# g
4 ^# a A8 ?; n6 ?) N 出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。
, S9 P. f# L+ R6 j. I( P. V
+ z/ ?$ O" g9 l' p8 Y T/ _
2 r. y5 x. A) z, f/ G6 \9 I2 h- `# E5 w. S. T+ U# z" I
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。
. {5 R) x+ a1 n1 s4 k8 J9 m1 P9 m9 Z( a8 N6 v
/ m9 j' d7 x8 |! J3 p
9 Q; m# C8 }8 l) i
解决方法
3 L- z: ?3 M4 [* X0 _
8 ^7 }7 Y, W& O& ~- ~3 n. @1 w' k
+ v9 C2 [# V! E 接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。
1 s9 u# e7 e; r8 }' `
6 Z5 W2 z& ^, v' n6 _5 C4 C/ E ^
/ _' y' [. _( Y- t( m+ i, t6 y) R* p0 t/ S/ r9 N. E$ K
首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 4 ]0 e n. O: I; j
( r4 |% Z+ v" p* R
6 D7 e1 m/ \# c7 ]! y. b
' L& L( M3 H. Y, \& I
C:\WIDOWS\〉ping 10.119.40.40 ( V% S5 Q; K/ a
' p: ]# X# V& d) Y8 Y. c. C- @3 q6 K9 o1 r* F. J% F p
5 C8 \7 ~, R+ @
Request timed out * K! x. D: o0 ?* e
! _7 V: d8 Z8 ?8 ~5 x+ q
9 v. t. H4 x5 v+ ?* G+ ?( }
& K+ U+ r7 |& {; e( _+ | Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 6 G$ c+ P h! s5 [# Y" p
" c) C. b. J2 j) v2 O) b
0 x$ f) a5 }- {1 f" P( I, A$ u0 k( [- O( Q$ V' W
我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。 & t _$ G9 e6 _9 @
0 y% }. v5 J$ A
@( i$ Z* l5 X8 z; O4 p+ r8 K$ N- O+ ]* g3 |6 k) z
C:\WIDOWS\〉arp -a # }/ e3 r" f4 Y# I7 X
( C! W9 c7 w4 f8 G* i
0 C* O7 I% t/ E6 t$ s
2 a [" k( S8 S& `2 k Interface: ...... on Inerface ...... : }- ~4 o m' |1 T" t
- @% l# A0 U; F; X& B' b& e& X8 o, e" g1 O
3 U1 d3 O$ ?. m! H$ D, D Internet Address/Physical Address/Type / z' r$ \3 u2 J% q( D
, `- M9 x- w! R5 D) Y8 I/ M
; h1 ^4 N) @2 [# r7 [: U" O$ \
- ]3 S6 D8 E: `4 O$ ]' L2 Z 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略 3 c9 | A( C% E% ?
6 }4 `7 i6 Z8 C6 `" K
1 F, h- k) x8 [+ H1 E6 a" s K# t; V3 K2 W7 ^- ]; K! d
以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。 : w! @: v4 O7 r, ^
% s( g! x# f- V, c7 f: ~
! g3 j7 X( h; W" N, O' [4 O" a. J/ P* L3 Q
网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。
/ m6 F: B0 u' {$ E& g8 D, R
$ S: U6 n) }0 ~
9 Z/ x |, l0 ]. \6 u5 e( b
# |4 w) I! [$ T1 h 在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 . `7 ^ C% |: ?
^0 n! b2 r8 d8 ]3 D3 m3 Y& z0 v% a; \5 a
3 h. T% m b, r/ }6 d- Q4 p& i) [' g * 在网管员的机器上启动浏览器 / S9 l- l% z; E5 g1 P$ p* \( s- w
' w0 v8 \+ `; v! f7 P; C4 v1 d4 |3 ^/ i6 _ H% e" Q; |% k9 v+ B
0 t2 a+ l' R) m/ L$ H: K * 键入交换机的IP地址 / a3 \; F" O& N. l7 j
7 L3 X8 |% s! G' k9 G7 X
# x. R; H- W2 T" b" B
. W. i* y5 v0 M/ `- h * 提示登陆信息后输入用户名和密码 ) u7 T; q5 O' ?- I
2 r3 q# p& M/ J1 }
. U4 M. P- ~3 j8 e0 n+ t, O K# s4 }4 D& d5 A- Q& s' m
* 进入“MAC Address Table”选项
$ B6 o+ X, A9 h* H, G
" I; U3 Q/ v: V6 ?
( v% ^0 T U6 s: h/ Y
- D7 Q6 J5 u# P5 H; ^# ? 显示表格如下:
' c: x Y6 j) H. n& z
- r; N3 A9 a2 l9 J0 Z9 Y7 n \: a+ m
3 c5 U1 O" \& h; ]# {4 [* r) I8 U, L! \4 O+ n8 J
Index/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 18 y- f5 U1 |. d6 r: C3 |; V
% t- g' L! C1 {( J$ e
00:00:21:34:63:567 F4 p* H, d6 k0 h" ]5 x
; t& i0 O, c$ q C! V" ?134 G& |7 l" M: G, `& V
9 J& X: Y1 P) v( p4 E9 @
Dynamic
4 p" O! l8 ?. l$ u
' d" r5 v0 k$ X- cNo
/ Z( c& ~( `' f+ i( j y/ I# D) e: H- p' n' K
$ Y0 h* @8 x" C' I+ L$ }) V* @5 @( z. E- T4 u' L
29 [' [+ A$ r" t
+ B x& a9 k' _4 L \- B
00:00:81:65:c3:a0
* o7 f4 X) n6 f4 Z# }+ [ y1 d N
N/A
F& B% V3 S! w% O1 e/ g; g, X L' Y7 m4 W+ h/ C3 I, G3 }+ s( L' d" L& ~' I. z
Static9 v( G$ B8 L1 [9 |! q; n
# w6 h$ N5 D& B% gNo+ {9 k/ C6 s e6 p
# k( U8 z J) r; W7 @0 u
5 n2 ~) t# A' C+ ^
7 J. x$ j3 g6 ]6 N0 {3; v% J+ b I/ A! @
* d+ g# R% Y) D2 B
00:00:a2:f7:c3:e4( f0 @: J9 }# x) ~8 x7 }* \
# r( N8 x1 K; {, S' T25
! Y; N; t/ M5 n: W7 W5 j! h8 E( C6 t2 T: {" p. F6 L
Dynamic
% n0 v! X. }0 A \8 t+ I- w2 l; @9 r" a; \ s* I$ o9 N
No, z r' V/ u0 ?
" z6 L) z7 B' H( W& u" H6 {2 `( u* X7 ~. l5 _4 ?& J! N% x7 i
! j& ^' ?1 a p+ J- G
40 m! G: v1 T' s& F3 a$ u
1 W" l2 g5 ]' r) h
00:00:21:34:63:56
7 }% R" P; R9 d& f( v: y, K1 ~& Z% u( L' z# s; H% T' f
23 F/ H( P7 s/ j( Y; f- B
3 c( O0 ~0 n: e3 _) ^$ ^. O# l7 `Dynamic
" O% P3 N8 R ]' X
7 _, z# p1 ^' w, _9 H, zNo5 l, U, i( B& d% j6 y
5 X9 }8 F6 Z) g0 q
" x( \$ G9 P! c; U$ F+ V. c
7 ] y) L) ?. p$ m4 C; Q
, L4 W& j9 @5 X; @& H# \
; T9 O- _* G6 |以下略。
1 r3 @" h, V; {- {: ]/ a& e6 b" ]* W" C1 V
此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。
+ K$ U- \/ D2 X1 J0 X- y+ L) T4 ~7 I+ g A, `/ V
" L9 l2 G- p- u
# z; K7 L2 x. S! _ 对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。 1 p8 G: j7 m: I V; P
+ m$ e7 l! P u
g7 {. k" H' B
1 L6 O1 q- {# J0 ` H* l
管理策略 * y$ b- B7 v4 }
) T2 S4 S3 I5 w
J. _* h0 S! ^# U3 I
6 r' f% y- F& P" z e6 W
对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。 8 I% ^! f3 J3 P+ b6 o- z
0 z9 k0 V! v5 D+ H
w! n4 l) N4 q" {8 V. k
1 I1 g% j) l, p" A# z5 \( z* H
用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。
: f7 ?" \2 S/ D0 x4 f2 F/ ^% }3 w1 N2 ?
- R! n8 i, J, U. k4 k# `
: a' u; Q3 \* x. O% ?, w 使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。
$ A/ C, r, ^: @9 q. }& @7 U6 T# C+ |* ~. @ Y0 |
) F4 R: g6 k7 R; v9 D* i! m4 h" i
4 H+ J$ ?7 V$ k9 c 在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。
. i* U1 l9 c6 G P+ V+ U# `7 N
, g% }; L) P9 E, T' r5 T" O4 R h编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论/ D( t7 i8 Z1 k e3 H9 z& H+ z
学习, 交流, 进步才是最重要的! |