|
作者:蓝色烟火 转自黑基bbs原创作品版; R X* c/ r y
版权归黑客基地所有, 转载请注明出处 2 b. Z$ O6 ]$ r; y/ t* E+ a
网络简介 8 v/ l) B6 T: N2 X5 ^
) ]" V( O/ }: u+ b. i7 [
9 i7 N$ G$ Q( H$ W 作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。
4 g+ C# B5 R& }- [* ]2 e, f' c1 E/ N. x C5 `- m. z' ]9 y* D: \9 T
9 `1 e2 t4 \' e9 y2 Y
$ G2 y P. U( C7 o1 ~5 Y& ^& j 问题的提出 4 l' x$ c* N, D! X p7 s
* k8 W" r, ^6 ^& K- P7 R3 }4 b- J0 Z( z# D+ D, ~
我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。
$ m) }$ c* K, y' w' W3 k; f& V1 x# p; l! b9 e# m
8 p9 i6 c3 K7 g
6 @) |& z6 ]* Q 分析原因 / b5 |# B& ?+ @* J4 J* Z J
! n$ p+ N2 l' a9 a
8 ~" j' s, t9 o3 j* D* E( b+ i# C8 P
出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 : q+ X4 q3 @: A1 J, U& U+ g! k% d
. ?% i/ C. Z* d
& x% p5 _" g+ c. o$ L0 n' c& {% s5 n+ O7 t* s/ n5 A
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。
8 }9 e* q3 L. g" ]
8 {- ]8 |' z) G. m2 O3 e. h8 \; x* O. i
+ B: @, _" R: Z 解决方法 4 [5 ]: E o. a. ~+ p8 C
! C- w9 @% K" m2 Y. g
0 g( t/ F8 k2 \, _* x+ {9 D) g) l' a4 w+ J
接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 - }0 U+ l. h- k$ @$ _
- N# Q( ]2 P; s% X _- G8 q
& y& C/ U( v3 o4 X8 u" c
! O' l, s9 V9 i( p; j) a 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。
: ^' z4 e" s y5 ~, z3 y7 O7 I. v6 z; b9 j& ~# R/ L
' Z6 b+ t3 M7 J6 t4 ^8 G
& O% o. R j b/ c
C:\WIDOWS\〉ping 10.119.40.40
$ }% h2 u8 `# h( x8 y4 K9 L
2 c* J3 i& N. W4 l5 L
3 v% x8 x3 F* F0 d9 r/ {3 O# i! q- H2 E. g
Request timed out
7 H$ N [# u0 A/ u0 b4 m- z2 Y- }- R6 S
0 X: @( l) S& I! @% {3 q1 L
+ `# r2 m! c( x3 ^& [. o
Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 # m- t; H+ K9 e5 w% s
. S" F9 n. z( J5 q( w# n, K* z/ B3 R: ^! Q7 m% W6 l, P
0 e. e2 N r1 r7 z% q" H" [* H 我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。
/ i2 ~& V, z; Y
: v" H4 U7 v- H/ s
# q3 @3 ^" k& e" w& X% O f" Z0 @3 |6 P Z. W
C:\WIDOWS\〉arp -a $ N& b: L* }2 N$ _# ]: t n
2 l7 c% U) j8 f( w9 y, J
) Q/ P o( P% H0 D! u
- Q3 o4 y/ M9 W4 C3 ~ Interface: ...... on Inerface ...... 5 ]7 ]$ R7 B/ t5 l: u; y
# p( S h0 h: S
( p& l. A _& k2 y1 X' _
+ M5 X$ Y: a" F, K2 s Internet Address/Physical Address/Type ) L! e0 ?3 P1 y! Q: W# z# Q
" ? v6 B5 W5 W9 M) a
- |1 }7 t9 E# c
. d1 W' v' f5 ]8 {2 b" ?# o: T 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略 * I$ ~+ R( D4 f L; v
4 A6 Y9 h' M9 x( d9 T
4 ^* _& P$ X0 u: n( ]( |2 f) S `* l0 M" X7 X! C+ q
以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。 ; f. p9 t! L' Y' s& a. ~; i
' ?) [( W' \9 M# \' N7 A* M% f) Q. G y$ n5 e
) S7 H; y% I( H G1 v | 网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。 9 }8 Z& N( h* ~
( V! m. v4 h( q: V. d. m3 `+ e4 k- y% R1 N! Z6 |/ w
0 A& P( i2 J5 `
在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 $ m4 Q$ L( Y1 I! _
, ^5 Q3 f9 n4 ^' _4 D4 \
$ u! \4 z+ b Z- [3 k5 k6 c2 p7 _- g
* 在网管员的机器上启动浏览器 - I1 B& B8 s7 r3 Y" P Q
8 u& Q" k- O5 h2 H; \- U; ]6 x
' }' `% A, ~2 f8 u, E
" g. ^( ?- V9 Q/ O& b4 U; X) I
* 键入交换机的IP地址 , U+ a4 O, w( `6 W k7 S2 u
4 S% S \9 r! Q$ s
, B' e9 Z3 J3 w+ n4 e- G4 m6 o
- j+ @3 Q5 T; r- C( B2 D
* 提示登陆信息后输入用户名和密码 8 e t0 z6 D' X y1 W
5 Y* e% H+ N/ j5 ]: T
1 d% f( G: U: P) W. u- Z. h o" ?1 b m* [" X0 g) d7 ?. J
* 进入“MAC Address Table”选项
' [" t" i$ h a* k% f# z- n' z8 e
+ N3 Q4 _; l1 L! e
) H7 H) N3 D: ?' `* |1 `5 L 显示表格如下:
2 c' ]' a/ o* Q( h
- I6 R. J- r$ ^ H+ w# Z8 t$ s7 I3 a4 N) ]4 E; I" h8 r
/ P, [: R& A2 I( {" S* OIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 1: Z2 G0 V* B u9 }! W; K
6 I% h' ]8 x) l G" ^00:00:21:34:63:56
8 e" E5 k( r: K8 _9 ?% s4 R6 M8 t4 K& ?
13' S0 ~& k- e1 l, m W% z/ q7 ]
) N" b. Z. _. HDynamic
- C5 ]2 T) [/ B% y2 M R
# f& J; t9 C7 U5 ]% D2 VNo& l# w( l+ c' B1 e9 a7 @
1 D) @3 h7 Z) i5 d% O" ^: Y- o
" N2 t- {& g6 I/ m! K1 b
# k2 F6 k% Q- U* v$ ~3 W* ?2
" m$ {* F$ V" ^+ ]3 W0 A4 X8 U3 Z' w
00:00:81:65:c3:a0 i% x$ R3 z+ k$ R
, y+ X4 O" \: D1 @N/A
5 R3 f+ u6 h1 G6 Y2 u" W; C# o$ p6 w6 j( r) c
Static
7 Y$ _* S) z7 D* m- z2 N& G$ B8 w/ l. O4 L/ n* L0 I E, ^
No6 \6 j" b) s; R2 x7 A9 c4 J
) o0 u" s' F6 l& v+ t- ^0 d( ]5 N9 e$ z7 [3 ?0 _8 \" Z
9 y4 N" f5 R7 ]* ^; f3
/ [5 D% F* f) ?* t3 J' V$ {' ?6 r. M8 t/ z2 z' G1 n
00:00:a2:f7:c3:e4
* e' N8 b" Y7 r- i; e' K8 |1 o L$ k! D
255 @( R" M$ ?7 u( ~ ?$ F8 Q3 f: J
& p q" s8 |( L6 z# a) I0 MDynamic
: r+ ~, j, v U+ x9 ~7 t/ ~: d7 F
6 R& o( p$ m, O+ Y4 wNo
( K8 ^! d. b' i! R9 v% Y# x
$ q) G$ s$ E3 _, M# y7 F3 ?# }, W& B- ^9 F6 b
% s8 e# \, c8 W% `' E
48 F( e% @6 K9 E
, C- w, w# r. |- j7 [' i
00:00:21:34:63:564 f& g, Y( w* h0 i
& V- F/ Q( X0 F# ]- j6 ]9 ]
2 ?. b* F4 T( u9 y* t0 d
' P: d6 o- _+ [' l
Dynamic
. e1 Z: u0 u& u/ {( L- j& O" a4 y
No) g2 N( \; L) ~- |5 q: v: c
! [0 j" F- n; E& r
B3 P' n6 O& B, B# k( @- n8 U$ d' v7 T7 W- h
+ b3 f4 P' M2 u. p) P9 x8 C
! w8 ~$ R, j) m2 n- o* z
以下略。. D& h$ n# l2 Q) @
+ p" n: E# o+ u, ?; Q8 ?% h! f 此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。
% h3 X9 P$ [$ ^# l
+ k9 V- n' ?% `7 X: n9 S+ n6 N
& v% U; r5 Y, O) y+ K3 }% t& y' p( l$ q8 J; x) k) b' a
对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。
0 B- D1 K* F; p. |3 T5 f) k3 a( z- [8 E% }# m4 z8 D
1 y: _. I( h; y: [, D/ \
/ G- Q# ?, c$ k$ s4 ^& j
管理策略
/ z5 i0 t2 J; _6 G9 ~" c( x, C* H4 y) \- ]! Z; j u2 G5 z3 _8 e
, E6 e7 R7 V- z3 H! L/ r" X8 ]
+ _. T' d+ C0 D 对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。
, J5 f6 x4 n* z+ M2 u D
. A% B0 J" T5 k+ K! t( {* }1 a; A# L! P# t: B0 d6 [
: R' K" O6 H$ h4 p r) Y 用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 " T$ P' r9 H( M
5 N0 a& j, J7 h. ~ F& l* v" Z) M' y3 B1 v) u7 q; A
0 t) `- J8 C0 e$ M# v, E4 H# S 使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。 6 T2 U5 N! R4 Y$ l6 D
/ h1 B- `" ]' ~! P: s6 E5 k8 ?) W) b* Q3 L4 n7 F# t& [4 R
# ]3 ^, d& ?) k3 ]0 b$ v2 \) X/ S
在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。& t1 d+ y# `6 X! R& j. A% h
2 D8 |2 O, }7 B: y
编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论
6 v0 N5 s8 p; s: @% b2 L/ r学习, 交流, 进步才是最重要的! |