|
作者:蓝色烟火 转自黑基bbs原创作品版
s8 M0 h: k- S. V版权归黑客基地所有, 转载请注明出处
d& O* c; }: _6 ~ 网络简介 & ^8 `5 I9 F5 C# N, }& O9 g0 Z
5 s5 I3 L/ i! s7 ]/ J
; W0 |- R5 U( ?7 I" g; l: Q 作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。
' F( {. T! x, X8 ^1 H( a$ G( {- {# r2 l3 B, q
8 Z3 ^. M! P& E& j8 {: s4 v+ l6 m! k& J2 y1 Q( f6 l9 Z
问题的提出
3 p# A6 l a! M; L- M `( W4 v& R( x3 s" g8 E9 U' }
5 B1 d9 K9 I: f( N# i
我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。 3 A6 w* q3 Z$ X+ e
( K& w2 L& l1 Y2 `1 c
' E2 P( W2 `& p5 v
% w! x3 a1 n/ G- V7 V- l 分析原因
1 |- {" M/ o0 {& r( u( X! f
0 u5 p: a7 T% c9 e, H% ?
( {/ i1 Y; e7 G# z
3 h7 N* d, g0 s1 G; P 出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。
& I2 D: ? L x u
9 w' Z( s$ T j$ O9 u8 `
* W, g% L i+ r: R& G, @6 i2 W3 t+ `1 K$ I
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。 2 A3 ~ c3 t) S! {8 A( m
# z% K4 e! f3 \ j! @2 Q% x+ o; x( C# \$ G3 u8 |6 K4 H$ ?) V4 `
1 F" m* ^+ o; `; H, ?. W 解决方法 6 g* M6 L# M4 l4 }+ t
% b- @" A5 v) e/ [* e# E8 v4 F8 X9 I( g* V8 \& C( b" k( v9 \2 v
+ e: G' x5 Y* b3 f2 j4 @- ^" _
接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 " y. P" A- s. ] c* [( S$ A0 T
7 U" {2 u# q3 w4 h% ?, q
1 j' r$ K3 _" x/ M+ ~; x! A: p
. P4 J& k6 j6 Z+ G9 R9 e% g 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 ( K j( X* L y
6 O& a0 ]6 A ?* l
1 s l+ Y) j5 i- j+ P- u3 x* Q. H* r6 D; s" P" `
C:\WIDOWS\〉ping 10.119.40.40 3 T) P, |9 [4 X% M- I- {
t+ c5 z& f8 t3 `2 t
# _% R( Q$ R6 V' k$ Z" N8 ^, z1 j. p) Z* D3 j3 d# Z* [
Request timed out
% _. E) ~& t! t J
) l& C" Z# v; n8 V% T5 ?
; [8 B Z# D$ s* p/ V- ^6 K( L, R7 X) W5 P. \9 T
Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 ; U8 V) \" G! c0 i( d1 D5 M0 R5 G4 |* k
3 s+ B; E8 O. ?4 h/ E
# } m. Z5 I* p6 ]- i7 d; {3 _
0 V. ~0 ]% A" N& F5 ~3 i: E
我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。
/ ?# E) J& o C8 n
5 T5 _& ]3 ~, s$ P% Z* Z$ N; B o# H9 m9 K0 j; L2 o3 r" V$ M
9 y0 V* D! `, ~ C:\WIDOWS\〉arp -a
4 F5 T9 Z: J2 E
" m% K1 ?% h6 f, [% h+ d3 W3 f& z* O4 m% J. s
5 O7 v) w# s7 E/ S: I2 E6 J" Y' J
Interface: ...... on Inerface ......
/ J: i. c% S6 ?8 I9 o1 }: E7 e# ?0 M. V6 p1 E' W
& M E+ C$ u& S- W: T( O* ^6 f8 g. v
1 ~* J+ t* c0 c7 b4 B) Y3 g8 K Internet Address/Physical Address/Type . n- c' J; D. w z: ~
) I# a. v! z3 g$ m* P: x. N$ V: b }
1 k. q/ o2 i' n 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略
* k# l/ ]) p+ Q! _6 w
/ F1 H. b$ m0 I* s) p6 J- [, c! N- ?6 q; ~
1 u0 G- a# j% _( x 以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。
3 k# N3 d I* L
; _2 Y# w( S7 x- w1 \
! V+ X! Z, i9 `" B
. F& P# C B1 w5 v 网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。
/ k; [$ ^# C& Z+ n! ^+ N( T$ `4 s5 L3 G% `1 J- O; `! i6 J
( B- ~: S Z( W1 w. c8 E
8 z T2 o4 F: J7 R! V y; y
在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 : j4 O4 Y& S8 }+ i# j
$ c3 L1 X- M6 c4 ~% d6 Z2 g
0 P: d. {2 @* m7 L M
- ~- `# y( e) P6 D$ i
* 在网管员的机器上启动浏览器 : s2 a, G0 X/ g1 J) y1 F
; z. a; v8 Y0 j) O$ y- S# x* V7 {* B1 O
0 l% w6 }2 o: {2 _% H3 g' D
* 键入交换机的IP地址 . V$ s8 a& i' Q
( ~. m0 T# ~) f+ I/ p
) D; S$ `& [; R$ a2 d
0 g- x" V: U3 n2 [1 D * 提示登陆信息后输入用户名和密码 2 m; f: _- m/ V& G
: {! J0 o7 ?! R |: |/ z
% z4 {$ H' H3 J$ m- p, t
0 a, F; i8 c, a4 e" @$ P" B6 f * 进入“MAC Address Table”选项
) M; F W% r# l, r$ b3 S, m
! W5 [- C; m3 P
5 C& ~! k# J6 Y* z% b
8 D) B8 b& `) ` 显示表格如下: 8 `3 p' p: D+ g2 H
' ? C. v; M5 \4 I
, q3 f6 T% Q% \. q/ x8 A6 {
1 N$ T8 F( n6 m; I8 tIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 10 x" o) ?0 N2 Y6 g& H4 ]
7 g; g1 n* ?% Z) a2 e) V00:00:21:34:63:56
: b: W7 _; c* N# e @* v k* @6 X2 G3 C- t) c8 V- @
13
) L* @0 x* @, K& f
0 [$ a1 p' I3 G; q @+ Y! {Dynamic9 R% G5 ?) X! `) b/ n/ L _
0 P0 t0 t/ b% S7 r% c w$ k- mNo
7 D. G# H: z3 b, B+ e4 F8 D9 r- h' j6 `3 \- \; n
$ E$ Y* j) c6 J, u
2 i$ \, ~7 { r8 p- Z# V' ~' ^2
# ?$ H" D* b! R, s& t, W& @) W6 t* z
00:00:81:65:c3:a0
5 x; d$ x# y$ ~
1 {4 A0 y3 g" D. V, EN/A
( b0 o3 \; f5 \* W. U. M" K v5 t! h, O4 G
Static
( c% L/ w# \; Z# x0 q% H5 b: q# }7 U3 w& B" ?0 U
No
* U# j2 b- I2 K W( ]) l: w6 G7 N3 |$ j8 {- g( G; r1 O3 _: }
1 V, R4 O; _, b5 U4 L8 t: c1 d( F I& F$ {" t
3, D- c6 A! V" _ u& X# X% X4 d. q+ g
/ D! v3 S7 t( {2 y& T00:00:a2:f7:c3:e4
5 v, |3 K- I* d3 c1 |) ?% E9 k- k* ]5 e3 t Y+ r, l2 S" B
25
* L' i. a$ z7 |& T9 A
5 j: k- e* D% f! B- V9 `6 y$ JDynamic; p" T% U. t+ }8 F# ]
7 `+ u; D' I7 w w1 B3 ~2 {0 g* @; l
No
# P c8 A. f( F/ a4 k
% u' n$ C$ E7 s9 a: Z6 j, ~4 A
' a b( M/ c1 ~
' F9 w9 x# f% k% M4- n0 G3 D3 I- q8 L5 f
2 X& ], l) I+ P7 K! {00:00:21:34:63:564 ^ l9 Z) R$ X8 Z4 J7 O6 ?% l
: q1 B' W( J: d
2
; q* o: @1 c) E4 E0 }' m1 Z$ `
6 B# _7 X% P6 Y3 Z: E6 f9 ]% v2 NDynamic/ @7 A5 z5 F' V. y. g+ V5 W
* O1 _% A9 a/ R# u x% S. t
No; h4 F7 @# j7 d" r3 }, y8 \0 @6 K
! B7 n8 ?1 R: {2 M- l
) u( {5 K7 L0 h) t+ Q- C/ j6 @
4 s4 w1 c$ ?6 {0 [
1 |) N( R9 Q) h* {
4 N7 k) E0 @6 y# `以下略。2 E7 {7 ^ U/ _3 y; e( k4 ]
! A- r; U$ a' p- }- R
此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。
9 I& C! r# x3 z. j, D1 A# c1 R: N F3 M K7 F2 L
" D1 X6 S7 [2 W; A5 Y) x# x, ~8 @) z( ~8 u
对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。
4 T/ r' r6 y- J G. v. M$ w' b/ ~" g1 V( G
0 O+ A" ^. l9 X" n3 z: Z* I% L4 O6 w2 Y" v# n( Z3 k
管理策略
! @2 a( V% v1 T$ T: C% N
& d; H0 d- x$ z) A7 i) P, p5 j
9 I6 }& |7 x# F6 F4 B/ M0 u6 y9 Y( |2 j8 T9 I, o
对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。
' Z# f' v L! [. V3 Y
% e; c8 K# y# `8 w' x r7 a8 K( X: b0 I/ Q; ~
r$ y# ^. l* L/ P 用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 : }3 @- \4 q$ I: ?! d
! F& V8 X* f7 s. K' k1 h: [; X$ X! |. R9 E5 D$ R6 }( g
. _) T# S( ]9 \" v+ r; Z! Q
使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。
7 f2 c* @8 O: ]& S$ ~# v
/ u, A) P$ }6 A4 U( O0 |& R& ~, u. R5 a& V2 |& v$ J6 j5 U' h
4 }, V$ H3 L0 ]5 o" {; Y( {" H
在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。8 r) r1 u/ \( F; g& y0 {
* ?& w4 o* P' C/ B) a# ~7 X
编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论3 h4 K+ _% h# g/ ~2 |" O9 x4 {( R
学习, 交流, 进步才是最重要的! |