|
作者:蓝色烟火 转自黑基bbs原创作品版. u. x, Z. h, D
版权归黑客基地所有, 转载请注明出处
$ F# T2 P' g! Z# f 网络简介
' Y R2 [0 B9 c! [) o0 M
3 F8 R% Q8 A; @1 Y0 J E6 U4 ]7 j2 N8 @7 Y% P# q
作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 % P; p& N; A4 Q1 _. V
: Y' W/ }9 G: H/ }- a' X3 t
8 h% o$ q# i$ h9 q; H |8 h4 I
4 k2 {- ?& m2 W) {6 n8 g 问题的提出 ; @2 ], U# }" s% j- ?$ n7 h
+ @3 M! w: U' x
3 V& k; M' z: F. h$ K7 d
我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。
T, a+ B7 Z8 w& x+ S! W0 @+ k N& K/ S- \$ e) I- m" M
4 x: F c2 t: P2 [$ q8 B' I6 R+ h n
分析原因 u0 G: _" g" K1 s" S& u1 v
+ V- n; O- j9 y9 W7 h
3 X8 X$ ^% g4 O: W/ A
! L- `! `5 Z/ r8 Y 出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。
- }$ s/ c* E1 c; Z5 P( S4 E: |2 x. U5 ^- ^$ D6 ~/ g
7 j5 F/ {3 b# z: f; t$ a0 t
4 m& _$ G" X; y" i" K f
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。
1 a! e- U8 }. [4 ^5 ~7 R& x+ V- c# w. |8 B9 s* H
& J0 U; K) F: u* T- O: f3 |* u' T2 y' j" X$ c2 ]2 } P
解决方法 . P' I' _; U; c, {% f
& E# P: n+ e: {5 C. q
8 q) O: D9 ^; g
2 t; }/ Q5 u2 ]
接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 6 Z5 s: R' ~: S5 {& }! R7 s
! s1 o; H3 l* v0 V1 }
^' l# d( b7 O x9 e+ x
0 Q$ q$ C' D( C0 k# p0 p" ]* Z# T 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。
% d4 S9 ~. Y' |9 g5 [# T) K" g# U' y1 u F1 B/ ^. j% {7 _
0 n' B3 S. h7 w& f) e4 c
; s, ]3 F9 c3 @6 Z- s' `/ Z' h3 ^; c C:\WIDOWS\〉ping 10.119.40.40
# V& m: U2 d; G0 H. h2 }% Q; T F) e: m% g2 d- c* X t
8 ]1 q0 t1 y) F2 T& F$ \
6 r; _/ n" ^* |1 v
Request timed out
8 `7 D! p& g( s4 ~( r$ f6 n( E* W1 J0 T9 K5 R
: v: n3 G' J2 x7 a1 D7 g+ _8 U6 {( n$ B3 L# t" ^& u* S' q8 m5 v( b
Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 # B) R* V% N w6 z% u |1 s- p
. M( b4 Q; [+ [3 }8 y
2 a1 F$ v/ C: C- j: Q3 |4 E
/ S) S) I- p, |4 B 我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。
, Q+ D4 C7 L# T8 @: f, W, c
% B8 l+ E& x! o c1 }+ l' _- A
- {* |5 D* L3 j! {2 A( S
4 t. v# r# N+ ~3 Q- b! T C:\WIDOWS\〉arp -a
) B# K; t: V' q$ z! b" {
: b# @: E4 [5 e% O# c
+ ^8 `4 f9 q$ Q2 D$ x5 R* \
& K' _, _. N0 }, C& P Interface: ...... on Inerface ...... / {/ |# J' e8 f- v/ d5 I
! Z; L# S# p8 H7 x0 L2 e8 E# ~" K
+ N1 K7 P+ W( V/ V3 t% P- C9 s# j! T4 C$ C! m: V8 m
Internet Address/Physical Address/Type
7 k7 {+ u, ~1 Z
, r. E. \) c5 O# e
$ p0 i4 ~# ?7 c3 n
8 Y6 p. S8 ?" O. M 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略
3 q6 V6 ~: L# s, A
+ z+ {: ~ N, o: V
1 Z) @6 x/ B: T# N* i3 A
: x) [# f" B4 `! u/ O3 H 以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。
; p- I/ k9 i# d: S6 {! C# ^- h5 E/ f% E
8 Z" b" D. Y4 K; Y6 Z
9 H3 L& R$ g/ q+ T% `( n# k 网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。
+ |* H C- g$ _$ v' `% T. t; y
! T! V8 q4 s' q/ I& t4 L" @8 I) h' f3 i8 i& y* ]
$ _+ l3 c( ]) ]' B 在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。
. d" O6 o T; d! [- ?0 e' A
% s2 n& C* f' Z- E6 }) y9 D! B
$ k3 U0 r P# O% d: @
* 在网管员的机器上启动浏览器
! ]. Q3 a) l, n+ ^2 k& z/ O' j7 j
1 ?; c1 _% m! T- j( _' W
& R) v4 {, L* s8 @( W) B7 I1 i& V: m& S* @
* 键入交换机的IP地址
+ o, \9 {" ~( ]' H0 s5 n2 E1 h
3 p+ c% K7 L1 o* Z; n% I0 A5 ]2 m) `( b8 d4 n6 ~/ f
1 l$ Z6 ^9 M2 Q) M3 G% p * 提示登陆信息后输入用户名和密码
3 h- P+ H7 k7 R" Z- b1 c
3 |2 E8 ?7 M4 [8 F7 C
& q5 V; k* r" {. @6 k( W3 n: m8 s" T9 V3 @
* 进入“MAC Address Table”选项 . L- c+ l$ |7 ~$ q" j
$ Y6 v0 _, s3 j( f; `
$ a- d' G: Z0 Z0 j) C) Q
. U& p2 q, ]1 f8 p3 c 显示表格如下:
1 x1 A. l' Y8 H! X
5 n0 X$ h6 ]5 Z5 y+ V& x3 @5 S5 r3 ^- A: C
( L( R9 `( A5 l! J
Index/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 1
$ u" Q! g c$ N* H$ v8 Y9 j7 d- V+ B, ^" E- R
00:00:21:34:63:56
* S1 ?) H* s3 L( ~* x/ e7 h& I8 S9 w1 z/ k" T
13
7 t/ P3 }% E9 | P
3 P b8 g0 h" n) P- j; q/ [, LDynamic( L2 T9 c8 \6 Y1 q
( ]4 M e8 y; Z3 K1 S- i" h2 TNo3 Y1 C* W- T& O
, a' E5 p% L* d8 L( Y
9 @! v- g# {, `! Q9 w
@# {4 F( W/ _( d" q* a- S2
" X8 g! h( @ K- s* C1 [. }1 \) A/ q+ D& p- o+ M
00:00:81:65:c3:a0
3 ]; ]0 Z# \7 i. G9 h% |4 I7 Z4 P5 Z
N/A
5 N' t; [9 ^6 W" H8 F7 J6 q h, J% K' `; M" j7 l( O1 _
Static: p$ o$ U4 Y N2 `" H, x' m
6 ]! m/ M; Z( tNo
# u$ ~. d1 ]( j) ^! Q" x' D9 O
& y, s0 ?& S2 A% _* O# y; ~: S; Y& @
, }: n: A* t9 b: v/ C) e4 Z* y: h8 X& y n S5 l. e; m) v" E
3
; V$ Q4 J7 R- ^! t; r3 j8 \, E$ f3 O# K# n- A1 |0 n
00:00:a2:f7:c3:e47 E+ v% T; N) f! ?# D$ B3 ^1 v% f6 B2 _
7 \; P; p |8 d% w, `+ J25& v* |4 Y4 c8 l' g) n5 f) P5 D
6 g8 @5 }/ B5 u/ T
Dynamic% Z. X6 j7 f: i) F; Q% Z
& C1 h Z- a2 ?3 r$ X3 KNo
( R! F3 u) t5 N' ~7 }0 Q$ w u5 y; @8 r
. R3 }; N) }( ]+ u. v
7 k- G& U9 a5 U; H& K U4# d8 a" I5 K% @. u' y
. N% g ]1 I! k' v3 n6 M/ l2 v$ ~
00:00:21:34:63:56
8 J! M, U [, {, t+ p3 @+ Z+ G3 ]; o# [" q G4 a% ]) e
29 u& L' H: ?( F9 V7 O$ l
* p: x, V; `8 k8 A3 f) z/ MDynamic( s: ^4 ^" z9 a; z
0 O' u4 s7 i. Y) i- q* GNo
! j- ^' l/ s3 a4 J2 z& ]: T8 {" K' e. g
) Y( Z) X! K/ n7 F: w. f" H
7 Z2 E' j8 q1 y9 I. [) S
8 _" t# o: j4 Z0 L( K
! |, a% i0 r8 E5 q* F& ]) e以下略。, x% @8 C0 k2 h' K. ?4 M
$ @2 X2 G) q7 s: ` 此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。 6 L G3 S( O8 b
# C: n# h& w# Y, ^% \9 ~: G+ s" H) u5 I3 ^
7 @3 Q- U' a% w1 o. M1 e1 T8 ^ 对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。 , e. W( v6 F5 O' \5 P" B( T* K) X
- ` t. l4 G7 O0 |/ o$ Z% A9 x3 z( E8 R, Q8 q* P) X6 {
: s8 a, ^+ x2 A% a% s U 管理策略
1 \3 N/ P, x% e; v' ?2 ^1 k: P9 h E0 l8 F+ Z
( B* |; W& g8 T7 B+ ~
8 |) e0 D8 k9 ]( `. Q+ J* ?4 n1 j
对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。 " t5 ~0 G% t' g9 @, ~' D# t
8 g4 a0 q( x$ P5 b
2 X* J! S1 d# F& }7 Y3 }
% @: s: y9 v, w$ h! `" a2 a 用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 6 f. M+ j! U+ P4 b7 v( L+ q
4 C9 d0 |) |2 J1 c- @9 \ O- y4 n5 u7 c8 z F, |4 K" f
( ]9 e$ J0 q8 M4 F. T
使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。 , q6 {! p3 w7 M4 x" g1 r* g0 v
! i! g% x) l7 }* b; G
. N+ t$ r0 E) o! S
% O g4 U! l8 B! V: @; S 在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。$ k& F$ \7 z A; [) r0 P/ }
; X8 W' B( O, u6 P% U! H+ K2 F- B编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论6 m1 p) e" [+ c s1 r9 S5 _
学习, 交流, 进步才是最重要的! |