|
作者:蓝色烟火 转自黑基bbs原创作品版% i# b% V6 s i' I& A& J. w
版权归黑客基地所有, 转载请注明出处 : b; z- q' P$ Z$ y) j
网络简介 7 i( o2 X M/ S& i O. ~6 U8 J$ R
1 V# N2 |1 o, _3 k1 y. {# I
$ x6 e- }9 s2 r# Q7 E 作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 4 w0 D( v6 G" ^# v, |
! ^9 E5 f! o. R9 H! E& t( ^0 C6 H
6 }5 G6 l# ]/ k" ]2 b
5 |* b6 }. ]- Y- c; c: n" k 问题的提出
: K5 m& U! k. z e u: T; s( Y- c6 E3 [6 d
$ [6 F( _ r& X. o8 j 我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。
$ K& x* P1 ]/ W4 m- Y) g* f! e/ O( K# W8 D) H9 g
7 q% s0 k) s/ g) F! j& J0 p
( ?% ^* Y2 P) w6 F8 W3 j
分析原因
1 c; B. B# B, R0 E2 [! e2 S8 A4 `: T4 c9 c
2 `! R; g7 _9 C" u/ ?4 @. H
! E/ W/ f1 i+ _* |* L/ `4 T 出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 ' e% z y2 k: g
: Q) v/ s' {. Q; K4 P
& l q; f8 a7 m2 J7 g [! t1 {+ r: s
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。
; v8 E: a; E C+ L* b9 \. L
8 q7 i' |* J0 m* Q: ?+ q t, B; O2 \% B3 y' ^
/ Z6 B) C# Q7 X/ Z* j% A8 l9 S 解决方法 ' G3 ?" m( M' t: b0 E' u
! }8 Z1 X* w% R2 E
% j0 o9 [- g* l1 G8 O- N9 Y3 M5 v9 @
接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 4 C8 Z# H4 K* u! ~7 `- g4 x1 a {
- H8 l* d- T; G6 K0 Q5 G; Q% Z r( ?! ^+ g- I% Z! R6 {
. p4 \2 _; r* y! X! t6 R' z 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。
3 B4 h l8 O! V/ F7 {+ `
9 k' D7 d& O: m0 Q+ C6 k+ F0 Q# p- Z5 h, K7 [0 u
+ t- x5 X) t) Q
C:\WIDOWS\〉ping 10.119.40.40
9 D% l4 r: o( l3 J% [/ m+ O1 U1 G" O
1 j$ Z. O$ f8 O$ m6 B2 u2 m0 p: N7 T X Y& |0 ^ d6 E4 e
+ J, y# I6 T' e- \ Request timed out
- P/ x6 i( s0 L
6 n- t# H. ^, m4 h, [$ F
& H# V, V, R2 l, V" D% i1 I' H- t: ^5 h m& E- r c C
Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略
4 _9 u" c' c& H( B
) g4 A: F1 f. d( G
" j b) F- _0 o, F7 f7 a, V, ] B2 W4 j! U1 O6 s7 q
我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。
- w: e9 F" W7 d- j2 I i# l! r' W: e2 ], t" R: k- c0 {
+ s: v& @: F" ^. k: t$ Z$ \1 D8 w% t+ X8 x' z& B7 U; h* D
C:\WIDOWS\〉arp -a # ]/ O5 v( I( z- G
/ ^( F/ e& u$ z" h+ w- u3 d1 H8 d
8 I' o0 I) ?; Y4 ~7 `' ~, K
Interface: ...... on Inerface ......
1 m# `+ G* ?# w k) A: c+ }% G1 |$ y) j0 U4 [/ h) i' i
; I# |/ |# R' r, {
# y# y* l& V' j f7 K Internet Address/Physical Address/Type
9 z4 ~$ t( j- _/ g9 V* [+ Z9 ^$ w. U( ^
; o- V/ Y6 C/ @0 H
+ Z8 [. f6 |( H0 z4 }9 l: n 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略
1 h& R5 ~6 i7 j) u0 E5 D
& A; I& i: V% c) V2 _ M1 Y( k7 ]" A& v! A! U; [
( ?2 q/ q. E- d1 l 以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。
/ j6 t1 h p- C, O6 m
0 W8 Y& c6 u V0 e
" n' F8 _5 T7 w X/ q8 f; E5 T9 N2 o
网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。 6 V9 N+ i; Q, R1 x3 a. o2 W
+ o, `3 W4 t0 N
8 a1 \9 f8 X! j$ a5 c
2 E* a4 `6 m3 E+ D& P+ N; I b( |$ } 在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 ' }" `! C, ~8 Y! N2 G
) j0 v: |+ h' y" ^0 s
- `7 M- p5 X' D0 S. p# A3 R, p# ^" d" y/ f& }9 D1 C) w
* 在网管员的机器上启动浏览器
3 G! s* m) {' H8 O" w+ X# [4 `! o6 R2 {* e, d# M+ t
4 Z0 [1 H2 H# O% ?! q( X+ Q6 c' N% P
/ Z8 i m- O9 H( @; h% W# I * 键入交换机的IP地址 / l' U" `; r. h4 U% O
/ E0 d& F+ }( f% ~" Z, `. K6 t9 H K7 b! C; D
6 e9 P/ _% M- x# ^0 g8 t * 提示登陆信息后输入用户名和密码 , u* t6 O& d( d+ B4 B3 r
+ m$ k, r l2 g( I
& r4 L$ M% _/ s; w; \' D G. _' s4 S4 w/ `) K; y' V3 k5 b
* 进入“MAC Address Table”选项 % H5 |/ D8 M e8 e1 m
7 P/ u$ {2 k$ ]7 O7 U
% X5 N5 ^/ P# [; ~2 H* _
7 Y6 q; |3 H7 s1 v7 A, S' k7 ] 显示表格如下:
; N. J D/ J$ w7 M+ p) \" O5 r5 @
7 x/ A3 l9 a- e' u$ ~8 y
: S0 \* U" d0 X- O4 {! RIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 1+ x n9 t) P- i$ D: g$ N% _
; v$ R6 M9 }" d/ `; x: w00:00:21:34:63:56
% m" D: W; k4 K$ ~$ G4 v6 G3 s8 e7 H: A5 f w5 z
13* t' | r P$ L% ]. p
0 a' Z P' W$ P6 W S8 ?' X0 i( QDynamic
2 ~% l; K# X$ [( ~) z4 @9 Y, U6 i6 K- t* R9 ?6 E
No# R) `4 X' ]- c. i9 g
: v+ w7 e) K9 {) a( A
5 n9 b4 T4 z. N9 [0 `
}& L" e# ]7 h: v26 M( [, m* a% v: {- s
4 P, N+ K( z# o/ b2 ]
00:00:81:65:c3:a0
7 ~3 U" x `# V
: A" v: t v3 Z. A: D0 C8 l7 SN/A; M! g" o! M' X7 @3 ^7 l g
- @8 ~6 \" h1 _Static
5 \ z+ J: t" a. U+ u( f/ u/ C! q5 e& O5 J ~
No* J$ |8 @( J* e/ [
6 p3 Z& } c5 ?2 G8 {, Y& V; L+ e8 x) i d B5 W! m
. g" H+ z M: D- _; U1 }3 V* Y3 T+ ^+ ]1 A
( }) A2 T0 N, F! V7 c4 I. n
00:00:a2:f7:c3:e4
+ d% A3 p7 i/ G, x; U G
$ x& N; D W3 ?* A25
% l2 N8 H+ j: a9 t O
) k+ j5 S+ Q+ |1 @! u+ j0 DDynamic" {6 Y' {1 @" x; e' e6 v9 [
' H8 G% P$ B' i, w$ Z ~
No8 a0 ?1 \0 s6 L) y, ^) W U
7 p- ^/ Y1 w& F' k% U' ]2 @+ b/ S
! I) C2 W! f1 o4 P8 P3 I% ~8 A! ]8 H2 y$ y0 ^
4
; p4 V/ G" ]: n& R1 k; b2 D$ s: ?; j2 m* P: Z. g, [9 ~. r
00:00:21:34:63:56. x% X4 D/ T6 l
- `6 D, u. L' r. w& y# _3 |8 f2
& ^" D$ d$ ] `% b$ h
& C5 b6 O! W9 T3 ~2 ]Dynamic
' l+ G" @5 J9 }8 C( A
/ p9 V7 l9 T+ P; P' F/ P5 ENo- j, k( s. }# M, k/ t
5 ~. X# ]2 J6 m/ C T( w- A
7 f4 l' A6 o/ j: g0 [3 g& i% N% {' S( j) l5 m6 _* i) N- C
$ F% k8 s& {( I( z& L6 V# l5 D* _! Z1 R5 o% _
以下略。
5 a( h- p! t, s
8 U, j* D2 m, P+ {+ b 此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。 - j4 s8 e1 m3 y9 {, H+ ` l
3 F$ k& P1 }9 h" u s9 i% Q
' S' k5 i; P) @4 x
1 a S# `; f* ^ 对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。 - n3 W+ m! u! j u7 ~
( ~ G& s6 f: I" T! V: a4 j4 A
# A* P2 J: w" m% M+ [) t+ F
7 Y' [+ i3 ` P
管理策略
5 N, J& x9 y' t& c$ F1 |7 f2 U9 d: {, L# F
( o7 o* i3 ?& W9 h0 r. u
& j L3 E5 x2 |6 ?8 @* [7 ` 对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。 ' O8 `/ J5 N" O: M; z5 `* t$ h x
& v1 A, ], S; f) n* \8 O0 a, {
7 G2 F! L$ H! v
8 q, ?9 z$ X, @: _ K' P 用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 6 {! \7 N C7 {* M- j% {$ ~7 ^2 o
4 ^+ W% Y, Z+ W |; X
0 m& c6 U) H q( d# J. o6 T1 E8 M5 _* j" r0 L& x" c m
使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。 ; q2 T( P& l. _! p8 z( u
: `$ {3 ^% y9 X( G5 V& X
; v: [: N3 D, d# k7 r% L# R2 G2 n8 k+ w( {" R/ K* T1 z+ g
在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。
- Y- @. S1 y4 m8 R$ x, F/ [$ ~ 4 A6 Z1 m( s9 w" D* P; X6 f
编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论1 g0 y/ b/ p; l+ [% b
学习, 交流, 进步才是最重要的! |