|
作者:蓝色烟火 转自黑基bbs原创作品版
. U5 ~& k! { W* f版权归黑客基地所有, 转载请注明出处 3 l0 ~' S; w; ]# G- {! F
网络简介
/ l6 N9 W! V- O
! `2 T3 _' i/ S! l4 A
6 K/ X: A, {' b' M/ g! J 作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 : z# }; x5 Q9 `$ l7 p1 ]
" ?' R2 N( ~+ p* R" e: O8 E I5 ]1 _/ G {* B; D O
9 E. j+ W* n* L; T
问题的提出
4 X$ E# Q! i( _9 P* B/ M, ^" p9 G! t# k h7 h& h
2 T# a! X' \* ]- o/ Q* Z @ 我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。
4 q% [. L- _0 ]- e. n; z5 ~( O! ^2 Q/ Y* b8 u; ?/ c* I* q
5 @$ H7 H+ W c: t; k" d; k0 e' Z- j2 m
分析原因 % O S4 o6 k1 A) A" g) N% N
2 J; A# \* [1 u8 C2 V: ~
b$ C: O/ r& P% ?( x/ A" a* }3 I8 T7 `0 a6 ~6 `/ ?; s) u
出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 ; b5 V9 c5 e' D9 d: _
8 g7 d) t9 R% l) n) w# S9 w' R2 E
" H3 m' T* c) ^4 t C
5 n) K. G/ E1 Q* l
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。
6 b: S5 w6 @1 i" {" E; L
( L- u P# G) v8 f( e' z6 P5 P7 u/ A& _5 `
0 S+ S3 a p8 E; \4 {
解决方法 , n3 u$ c1 [ F! Y0 s0 |
% @; g1 m* j0 O' G" C e
8 g0 g! v( C" S+ M" v" Q7 T% e
: X" @' Y' e! b( f 接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 0 V! V4 I/ H' T5 v
" j0 ~# Z- H# L7 _
3 _5 g) P2 y$ Y8 ?' M- q* ?
+ H0 G+ x% r3 X& { 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 2 a# O9 I$ C- a
# |8 n; k0 X# y5 `" V9 A( z; x- }4 N' M
4 T) V: V j; W, v) z C:\WIDOWS\〉ping 10.119.40.40
* J6 d, U# y0 c9 F: C1 [9 {1 i! A# t
6 k/ j8 i+ ?0 {1 _ v4 c
& k* V/ O! A x& i S: N9 E Request timed out
# P) P) [% F2 z3 O
: K q2 L" g3 E1 p' D9 m
* c' X, s4 q8 T" |. q
; } d5 F5 {' w; V& Q( l Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 % c! X& `, E$ Y' o4 e7 v. g2 u# o
; x$ G4 s/ I8 J5 s) e. \& i5 T; l/ {8 v* Y; v& f+ P
& B3 ]" H6 ]% f7 B% y3 j 我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。
3 ^/ L# l+ z+ G: u3 z: a \- a, u) G" F! O# h1 l3 _) m; H7 y
. L8 T# F+ T0 |
" e8 g: l/ y: Q4 ^* N C:\WIDOWS\〉arp -a
0 |2 c9 p S4 Z" Y. K3 c8 F
! @6 X& w; s. r# o* p/ s
9 D, H6 r: e" O( M: d0 k i
5 b3 ]6 h+ @# t8 @ Interface: ...... on Inerface ...... 2 w' J2 B: P/ @6 f4 Y4 V
$ K5 S& t& y% T) J- f) Z0 i9 ]( C5 `0 S
( A1 z7 I& T! r' i9 x7 v* @4 u' A5 _
Internet Address/Physical Address/Type 1 L$ y3 F4 Q) b5 J% v1 o1 E
}8 h- B. _/ S: Y
) Z) T( S; u* c9 }' @
: M1 N; K0 k; o2 {$ z2 ]2 N' v4 h 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略 . w. {! w# S$ c/ G
( c7 l {# E0 ?9 b# @3 N1 L4 d( e8 B/ Y" A/ t6 L3 i7 k4 p
?. e" K q$ [, j3 }- y" k" h5 {
以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。
1 P5 k! a, \" \
& E# l( `- S% w4 d9 q/ P8 {
4 t5 |) c1 Q g* m! Q0 Q" Y ?6 a( i" `: a" c' J/ ^' y
网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。 % @7 X# Y( T/ F/ I7 a
6 {; D; S& C; O! @$ f1 Y6 Z9 M# h
. I# _& V3 C0 v& M+ t3 Y, ~" c$ c: j
3 Q+ @7 p, q6 k, ?% L 在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。
% [' e/ @' j5 a- ]& N% \5 R* _' ] P: O, A2 z) E" ]
9 i7 m9 D1 x2 I& P8 l. y3 A
3 s7 \ {. ~& e6 Z( V/ N! T+ \ * 在网管员的机器上启动浏览器 5 [' p4 U% X! C- z7 N7 J8 E
9 {7 ` q+ x+ Z* X' f8 n# x
) l, r8 X/ r- I! k1 W/ D0 |
- X1 Y' G/ g4 C9 J% X V * 键入交换机的IP地址
# B4 G1 r' ]7 M6 u
5 ]6 \% L% H; |% @. E" g3 `9 c' z5 Q- `1 c/ q
; K" C1 O) ^, s0 Z( |; L4 H * 提示登陆信息后输入用户名和密码 9 n- b& P `1 Y8 m$ V# S
/ j6 c' ~+ E3 ~4 Q7 A
9 ~: e5 n: e' s' |2 ?
- N8 y2 }. V" B ]! R9 `# J. J * 进入“MAC Address Table”选项
: A: ~1 l: k$ Z' z) \, g
' v+ r: g+ n5 E9 X4 S3 y3 k: j7 N# P9 M
- i. O/ c, d' f" ?+ M$ ~$ K8 @4 S
显示表格如下:
9 T; o, \+ u' H# ~2 f2 W3 l) _0 k7 O6 ]; E e7 T9 m) {8 Z
/ \7 y* t5 B" P0 m) T
3 ? t' x' ~( K8 D& XIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 15 s+ M) l2 I- R+ y6 g
, }5 Y4 R4 [9 J9 E# O& v
00:00:21:34:63:567 j6 K7 [. [5 z5 O1 U6 J6 [- |5 @7 x
+ V6 d! M, J: I& }13
9 e( C F8 @1 U. T) G( N" p
" k: v8 J7 w" d# |3 }# ]$ xDynamic; F+ g z. O* ^ q
1 s4 H$ G) E9 }1 n: q3 u
No
; a a" o+ q6 F, |* b" d2 [" u" |- u2 P- I' N, E
' W7 B2 t* r4 n+ q8 w2 `3 N
0 M7 n* T, m J9 \# `% \2 i# r: K2! Y* m1 A* S+ b1 N# r6 W
% h, S9 t8 O; X+ M) V# b Y, l8 J
00:00:81:65:c3:a0
! E7 W% S+ ` V/ Q# O3 t! _
3 z1 R; C" ~) [, F2 {, lN/A
' U* ]* J5 w- {1 W+ G2 H% I5 j( b/ P
+ |# C. p/ D) E& `, l. F( j, `- aStatic6 @1 X9 O6 H" ]# Q' F5 H
# }8 S6 y& b5 V% |7 l) r) P7 ~' D
No
+ C; r C+ v* [) \" B, ^) X
; Z( I* n0 E! U" W8 N
& Z7 f3 Z/ s* Y/ @& e. N3 L8 [* D- |+ w3 c8 G3 M
3! g9 J% a+ y' o/ m! S3 E
4 I7 \8 b) u, {1 _5 I- P
00:00:a2:f7:c3:e4
0 i6 H& V6 J7 Y/ a0 k+ F# s
8 C3 H$ } u& K- _$ D, y! G25. c- d2 x4 C/ E
7 o0 |; c4 V* C( K
Dynamic" E) a+ F& U! g0 S3 O j w
6 {. G9 a& K! g2 P7 hNo' C: E/ T% u. Y0 F
( B( _8 ?; I- {
3 D* K4 \5 \2 }8 i, |+ {, v" H# b- v; j
4
* B% s! a' R" n4 ~
/ l l" K, X; x. s7 s; C" j- O00:00:21:34:63:561 F- j F" W( K0 _. t
3 D+ j! U e$ g4 ]" o* K ~2
( p+ Y% ?3 ~5 H3 }2 Q5 q( n
% e9 Z$ z3 j- E( QDynamic5 ?; O+ O2 y( s4 y; @# ~; f* N
, i+ K6 j6 q: \ ` HNo
0 X9 u. S) Q2 j# \" `0 w. U5 g' z0 w6 X, C
9 G+ d& f1 k9 c$ L* j( Y. ^4 q1 {$ @% I* D) s( D
, o& g0 a( O- ?0 P4 K+ F% o& z. n! L8 P8 g. x4 x
以下略。
* B. P) K8 E; f) @# F Y* h/ O* a" q, J8 e
此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。
9 Z4 \# [9 s; z7 M+ b& C; g8 d1 x ?; G p. V4 C7 B8 t
4 Y% D, ]5 `0 ~! z/ N
/ ~ c7 h6 X& v5 [9 i g 对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。
' D5 J% k8 X" C( s" C- P4 k3 A! i$ }; k
$ g% m; `. a6 @& U* n( a9 k1 d; F4 P2 t- b6 t b/ }
管理策略
5 l1 d Q9 ]9 H4 M# |& m ~9 b# L2 Z' q* _3 W
: q- ~0 N: t" k) S8 z1 l/ z4 V7 b9 L* g* U+ Q
对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。
C. ], A% S0 k" d) O9 V# a% O, C
$ b$ N6 \, Q9 r
1 u4 H7 A) }" c. f- { @6 k4 G' X1 k! K2 R- u$ U
用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 ' S& v& O7 X6 r. `) I
4 t5 n. K8 S0 L" q8 ?, q( Q$ ]' g S Q, P; z& L
$ \9 A4 r- Y& C O1 v+ U2 j
使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。 ( H2 N [% O0 e* d6 N O
; L% s; o8 m! z) r; x3 O; r. U B U
/ U% w0 r T/ P: _$ x6 Y
在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。! e T% v' |; L, g* ~7 L7 v$ W1 C$ v
1 e. Z6 G3 x9 D$ f- [
编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论
" Q/ S3 C6 S( i& A% T: u0 e; }学习, 交流, 进步才是最重要的! |