|
作者:蓝色烟火 转自黑基bbs原创作品版
5 `6 n+ |6 S' W# k5 J版权归黑客基地所有, 转载请注明出处 & n1 H% W( \% m9 H# Y6 g" i
网络简介
3 [" `' E3 {5 b8 y7 v, [# v- O0 y; g B# |( |
, k% J, u5 ?. C5 y1 D 作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。
, {; O; |, z& ^1 W2 j6 r6 R
. h- F0 j7 N6 b% I! f7 F8 W1 ?" N# f3 w0 \
; m. {" E1 ~/ d 问题的提出 & f1 @" p' @' K
+ F5 p+ E2 C8 e) p
3 o( ]: s8 z! E y- `, P 我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。
, q4 ~6 S( n. g8 _' A
% z" B% b( C7 h" t0 m
) p* l, W6 m3 g U: e# n, Y. S+ Q" p1 S( _) W1 _
分析原因 3 w6 x9 u$ G3 V7 M
( G1 i# w6 N: ~0 j4 K
4 z* J% a9 q) q* L2 [% A4 o! ]; ?8 L2 G: j, e, Y, Q# F
出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。
; S; I* K9 V+ D
2 \0 J w1 w9 ~& V `. w
5 @* Q; {! a# v; B' |
% r0 v- z% p% ]* k' I 1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。 % S8 x& s3 h8 F9 t% o2 I
7 `2 Z {2 b0 n* a: V
$ b; P" f; K7 S5 I1 h4 G' @4 k% p2 m$ O1 o2 k- H+ w3 K1 n; K0 u0 Z
解决方法 8 k- W1 K! _9 U6 u z
0 Y9 _3 [# Q3 Y. M' T! ]/ Y6 G3 J j* B- A- t: y
* m8 ]8 O# O$ x4 ]0 r& H: n' j 接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 " L |7 o5 ?3 O% Z
' y' U0 T/ O8 y0 b! f2 h
: S1 l5 ~' T- Z0 V
) A; R, r8 V, I s) m/ N2 K 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 3 R- B5 z ]" {: x# c6 ~
! V% u; C, o1 I8 v5 D& b. ~' u1 W9 G7 J, ~" e
% E5 M3 |* n9 _2 K9 H9 e+ w
C:\WIDOWS\〉ping 10.119.40.40
8 ~2 k s; E" g% S" `* Q9 j! C2 m! s, j3 ~) E
* ?" C; t) Z8 }. ^5 E
$ a- z, C3 S) I3 G! R) V" p* N9 X Request timed out
6 x/ R" R6 ^; ^, Y; H
( m/ w8 u4 g5 k: K; F4 }0 x! m' V0 @8 S
, `$ n! X& q1 G* d7 ?
Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略
2 o6 z1 z: o( s1 o5 m! j. U& O8 S+ n8 ~5 A/ [2 [( m# o9 v. q
0 N b( x+ r9 J$ Z; p; I) m7 n6 t6 o7 A2 T" J0 [
我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。 . q; D* u1 ]/ C o* {
3 e& ]' K" d0 x# K
$ C0 j( I: ` v5 g
* h( K$ x, Z5 R/ l+ [ C:\WIDOWS\〉arp -a
" b: X4 ~5 S5 t4 s5 ~; r5 ~" l+ y: B, t* i4 L+ A" {" b
& N7 v; J0 }- Z4 o! ]! A+ _2 d" d, l% R1 A5 E7 N
Interface: ...... on Inerface ......
) V# I* m$ [' n" o
7 v7 g; Z3 ], J4 {; _ E4 ]0 s5 d" G$ O9 G
: U% `* o+ e" G2 f @
Internet Address/Physical Address/Type
. z2 }# |) X3 Z/ h, P) X* j' m# X
& r& J6 y e$ f( [% N- i3 r
. c; D% I$ h* }9 E 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略
' v) ?, J5 f$ Z; ?
2 g5 U, B7 Q: A9 V( Z) {/ O0 T ^9 r7 t# M$ O5 V: Y' M
9 z0 x# d( |5 n" ^ 以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。
8 @+ Q5 }6 v0 Y; ?' p. L9 p+ l+ U* q% e% G* e
+ h7 w/ K/ M( B8 x7 W- P5 d S
, C8 \( j/ E. \
网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。
) K/ {4 Q3 C1 T: y, n* G& S3 s/ n" {. m. A% C X" R/ L9 A/ s
3 h" J0 b. |: i i5 F, {& Y; L: }- Z
# l* T8 \! ?, F% Z 在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 4 d/ F; F5 a+ b* |! z! Q
5 R, A2 N `6 o) Q* f2 \/ P f- D1 w
! }6 }9 g& B: a k; E n$ H
* 在网管员的机器上启动浏览器 9 g+ q1 [7 j; I5 }
z" j1 g' g+ K' R: v; W; a; B3 n& G% C+ y
# S0 t5 ^* f& `
* 键入交换机的IP地址
; s# i: Z1 D5 }
4 r+ {: l0 g( N/ x+ F
, F% T( z! r, A, v5 T1 |8 p u- D+ N2 x3 d ]
* 提示登陆信息后输入用户名和密码 2 } O! K' @* ~ n1 [9 e
( r* f( k% l( f- b9 g
8 O( c) l2 c4 Z+ w2 V) C- c' p8 L+ b( J" a, d* u7 w& D
* 进入“MAC Address Table”选项
! R% g5 p D! N1 z; k5 j& {! R9 h- \) D7 w+ ?" ~4 i V
* K- m# N- u# R2 q h6 {: j V2 A$ N" f+ d6 W$ J
显示表格如下:
6 d2 E$ C& A6 \/ C$ B- q5 y# ]% a5 ^
3 d0 D8 `5 k2 F
! ]+ B$ a& w: B, M- n+ |
7 r9 o! F- D7 f" z% C. tIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 1$ {2 x* `9 N" T! u6 c
0 U1 N% f& {* q$ M: q1 h) G- z00:00:21:34:63:56: H$ N4 Q G3 h1 a* E4 G
4 F0 ^3 S, K8 b; O- k$ r13. t1 a0 W# E9 O
8 }5 M7 n6 d3 d. g: gDynamic O3 q; v4 w% T9 y5 s
, [* L5 O2 k; g" [+ z
No' [# r: y8 m$ p* I7 Y- }# I, l
- J* r+ }" R5 l! M. |5 R3 M) |0 j6 b4 |. z, F9 D1 ]1 p6 d! t
7 |6 u1 R# P4 e- g) i7 l3 c* k# T
2
1 x( C1 b3 C( x ~% i0 z
' m, k# I, w: i$ ~3 b/ _7 [. [00:00:81:65:c3:a0
T b9 r! q8 [4 O$ d3 \3 w, P# {- M o5 r* e- T# h7 P
N/A
# J0 d4 N: ^+ s
8 N8 N, d/ q5 a2 x" CStatic
8 x* \+ {4 ^9 E- P1 I0 j: B5 z3 c& P3 b2 l* t$ h4 m3 l* M" d
No
, O) l$ n5 e: w" Z% S. [9 s y$ h* B% |/ v
. A" B) S. c+ N! z0 H! W6 b( I- T. E4 x+ v; E, L
36 f; |' M5 ^8 B; y' z2 g
, l: m' F( u! X8 Z! y y) f+ q00:00:a2:f7:c3:e4
- ^0 e2 N5 B; l; g; Z
7 y# I' p5 e4 k) T3 v25
0 J& g5 _; C0 u6 _1 \6 f
7 b" x5 q l" nDynamic
2 Y$ s% r4 G C1 a% T
7 S7 R9 Y* j4 L% B. f' y2 eNo
" D2 G1 _4 C, K6 D8 S- A+ B" @. ?8 o# N- C" i7 z
9 l3 n0 w5 x+ }" i# M, K" w' R# S3 L7 U; T/ P4 ?$ J9 J/ ^3 z! @6 H }1 X
4* @+ c" F& m# C8 P: [( U) U4 n5 a
1 n, x) m [- N* r) K0 ^ X9 I00:00:21:34:63:56, a6 X: U1 P9 @, j; D" C
2 D" z2 h7 x, V# G( K6 ]
2
+ P8 I7 L" v3 I! Z: p9 H: o
* C+ Y9 F% C/ g! ?- b7 CDynamic' N) N4 ~0 d! ?/ {
8 T5 h& S3 C& |( }" ]No6 R) z3 i0 E/ O, n
2 P8 u9 I8 b6 ^" j/ y$ G: \
, N4 D9 p* Y, m: b, y% n* E
' W2 @, P" V7 x6 r2 r! u; D$ n, U* f8 C: {: C% n0 b1 U
8 E( m/ z& X: B6 w以下略。! H8 [' Y1 I! ~9 l. u& o
3 ]0 \/ [4 {+ f: {) R% |$ @4 u: M 此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。 1 u3 O$ n& z1 {9 k0 U
3 C% B0 Z. j! a' L2 n$ D- T- D. e7 k7 o# t. _- n8 o
1 r# W" V8 v5 }- v/ b. u 对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。
( ~& P. ?, D3 M* T1 q$ H/ c; Q
7 @4 H/ v, ]8 ?6 U6 U7 E7 ?, s B; m2 G; D2 M! b( j1 V) T1 t
$ v$ M0 Y' ~$ @
管理策略 . Z1 y S- P# K& d
v/ n% \4 _& ]" c/ b7 [
7 D3 m" J$ Q" t$ E/ E
9 k9 P# e+ X2 J* P 对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。
6 z$ b) h! Z5 b4 g" O0 c' g. }2 [2 |1 R0 B! E
0 O5 Y, ?6 |6 J: A* Z
- l$ Y. S: M. x% i, }3 ] 用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 ; Z$ M9 F b! `/ |# b6 V6 _
" y+ c1 N5 n. C; t4 }; P# R+ `6 j- t. Q$ E+ D0 n+ w* H
; L- ` ?( h. E: Y
使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。 k/ O+ U/ |- l+ w, J4 e6 y
/ U7 o [" e9 \8 r6 C2 }7 w( ?3 ~- J! j* j& B' D
4 r3 Y9 F9 R* p: ?/ j- ? 在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。, T5 Y8 ^% ?! U, |" W
# C! H" D, V; l/ `3 x' p# l- b* X& b! T编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论
! v$ r8 b! h6 g' m7 U% e2 W3 U学习, 交流, 进步才是最重要的! |