|
作者:蓝色烟火 转自黑基bbs原创作品版
8 O; E7 C) |; M' n1 P4 Y. q版权归黑客基地所有, 转载请注明出处 6 [/ c' v& C8 O5 e7 B( |+ U, o6 u
网络简介
. L- ~8 z( K# Q- G [
/ f/ H& |7 x: ~1 n$ P, W& t1 ?0 W7 X) k( A2 N9 Z% J; H
作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 ' i% z( V4 ]; R0 c/ J
' ?5 A, z6 E% w! S, o
- A$ {5 g) D4 S' W, Y$ ^3 A. w: Q T/ o! R1 G+ q2 i! E+ Q
问题的提出 3 H6 H) b- P& ~0 J- A1 m
% m2 }5 U% l& X# n# y2 X, B9 h
1 |- H) W4 D; d
我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。
8 C0 u4 _5 Z6 _* H
9 O# f* z$ I- _% T n, Y V* y# L% B+ D f
7 W- W1 v# t4 v9 E' s m" x
分析原因
. y1 G% E7 r5 K! [7 j. k7 }: e" C6 K' ~5 C Q( j) w- j' e2 {
. R, @7 p( B% x% b" Z( q- Q
1 N% l- s4 E0 I5 ~8 M 出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 " P$ `, k$ t) N2 u# ~0 Y' R
: q" H; T9 r) n( n( g
8 o* Z+ [; |6 x4 c& i9 H. h: X( O! u, y7 Z6 m% [( G& a; d3 C! y
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。 3 D; o9 H( y. k* j! V
1 L% X, x+ Q1 J+ `8 W6 g7 e
$ O t$ J: U. B$ @5 W$ P6 a7 Y- \ p0 C+ h# ]7 V- T
解决方法 4 A* O2 ?7 x* U! y
8 P: w; Z4 h/ s0 @0 o+ g" v4 {& I
% W6 d% C% r! |; g. {3 y. b. h: e& G4 {+ W; M1 k/ D
接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 $ g; Y! e' M0 Y+ f, q
$ ]* B0 H4 k8 T; O6 [7 Q" {
: `1 u8 c2 L( {! {1 o6 Q! t
' u! ]2 j2 D7 Q8 O/ L; N 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 : }/ t1 l; I0 D- N2 Z
6 c1 J! o% t/ W& V% {) U/ c. t
) z5 j8 S- X& S9 d" `" O+ U9 w/ }. n j/ s7 V' ^& p1 v
C:\WIDOWS\〉ping 10.119.40.40
; @ g0 g+ A' }' w5 v8 o9 l. W
0 L/ x# N' S) p* l3 d1 w! o" t% H3 A7 s9 `
4 Q: z9 T* ~4 `9 P3 U
Request timed out $ [% ]- j2 J9 {+ P8 c" H
2 t' y9 j6 U1 _$ k
/ A1 x+ e; _- V1 f: V1 O
) |+ W) \: U# e0 }" E1 e- Q
Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略
( A1 H! L4 x; W7 M8 e' n0 K! O6 E- w; i; P# q" f' T/ M
* W' f* [, L' E& A2 j6 R; v- H
; }& i4 J( V. v0 y3 T9 D9 V, A/ K* [
我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。 ; Z4 O9 r' ?0 F5 g4 _
7 v Z- e8 d0 f4 E1 L- p0 W
- b3 v' g6 H# R8 C a) t: U3 m# Q0 ^/ H1 [- ]
C:\WIDOWS\〉arp -a
7 l$ m4 T3 I B( \% x
! L) p; g, y* {. R6 ~3 v# v0 o# \! _
8 g5 M5 T0 Z: P; n* c
7 x8 ~/ X7 J8 I; Z) V Interface: ...... on Inerface ......
& ]3 o: f1 m0 d S# h* A% K8 I e/ n5 k# N3 l6 O
" b7 a' a! o8 W+ ^. _& ], S. E% ^$ ]' D- `, h$ X. Z& t1 K
Internet Address/Physical Address/Type : u! { O$ K( n9 p* ^1 y) N/ O# s
3 E0 V Y4 W C6 g! F, t" S; K
8 E# j3 ^7 L- \. c! h& E2 a
10.119.40.40/00-00-21-34-63-56/ dynamic 以下略 3 B& `2 F) T5 _# d) y& \# t6 R
2 b+ L( J( y, M5 U7 U# F, N
+ \/ w+ t" Y$ N+ Y4 f- D/ \ @7 S. F7 v7 P7 h4 L# G6 f6 B z, D4 w
以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。 " A8 u( K; s. ~/ E% a
& ]$ v9 t4 S. A$ |7 H
$ o7 k0 z+ L( q* `; E9 a7 f
3 S7 A9 \$ E# d' W 网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。
: x8 X$ s8 u0 S; E) ]6 {8 F V
" E; W. r7 w( k
- H0 R4 i0 G- q+ Y9 D
: l i: m' C8 x( t& B+ @' b) `$ T" ] 在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 / G9 {0 D! @; K; u3 L. Z
# b- j0 k1 K5 r; O. h
1 M5 j- U# z, z/ N/ ^2 k/ A2 |& H1 s# s, U
* 在网管员的机器上启动浏览器
4 u. ~+ X# ]) T+ `1 H. i# ?% @5 E! w9 H1 B/ m
- {# m' q( p! k# L# s* Q
$ e5 q3 e# [1 n. ?3 J( c
* 键入交换机的IP地址
3 I( _; L) T F: `# L
$ |$ J; i" r: p" ^6 N( X `8 z: d; N% }; v
( T) U% `8 K; D7 f+ C" ~
* 提示登陆信息后输入用户名和密码
8 d' z6 J* T" f
6 j1 u1 C/ Y+ b+ h! |1 j8 a7 d0 Z5 m9 m! _
) q, I: x, @1 B* \; J- {$ D
* 进入“MAC Address Table”选项
9 {" n" m7 _1 o. R; ~" C/ B0 }$ B7 j* _
8 @& d+ }- g$ S0 ]) M% [6 u
1 X+ d" L/ |4 |6 [' J4 n 显示表格如下: ' `0 W5 g, _8 C8 b
1 q) p; d1 e5 W& {8 A
( h, {/ }* o- O- z
: u5 l- h w5 A. yIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 1
: I+ z9 l# E4 v, d) g; s$ V" I5 ?
; C% {7 k; F& d00:00:21:34:63:56 \( Y4 F& X4 x f' n
2 @" e6 G1 l' \13) ^. u6 B* H# l& a) Q5 D
6 E" h& O' v, a) ]9 X3 }+ sDynamic
5 t4 R' Z9 N7 d
9 k3 l; s' M6 f+ [No
( Z1 u8 f9 y" p$ i6 ^& M/ }, p, X' D8 V6 S. h
+ ]4 Y3 t3 b/ S, x7 z
9 q! Q3 j/ f: ?8 D$ T! J/ `2- j. N$ M6 b6 u; E
6 b6 W( ~/ S' W+ }
00:00:81:65:c3:a0
9 L: U/ ]* I2 g G5 W$ ~+ A
) o1 o; i G p# EN/A7 X% t" j/ ~) ^- T
* k: ]4 _2 P2 r+ A) O, ]1 @Static2 G2 p6 m5 _" \3 w9 \
' v; p4 i8 C; Y1 }9 M( x1 NNo
+ a1 C# G& J! k4 s+ z
5 x* [" x0 z2 N! u: V3 [" |$ }2 w6 \' c# s) [
. x! K+ X( B. `3, X& w) g0 U; Z' |- ~# X3 j
- z& y# D; O3 w' E" m5 g. b
00:00:a2:f7:c3:e4; H: [ C6 o# W1 n2 @, S
1 {& p4 E$ u" u. S" R7 S$ N1 n. b8 G25
. L; I, y! t, \+ A
, M, l% F8 |2 n n! j5 f% ?3 oDynamic2 `" v! `9 N, b% a- O1 d
7 v- W/ ?! O/ Q5 s
No
& L; S* s8 z, `5 [# B
+ H# u- Q: x* E7 U% u
* w# [( V6 U/ w' K- x
- e" W2 A9 i; J# @3 C; m4: @0 c; g/ o- F. L1 S1 p
/ r8 f$ V9 U3 y. T4 B- F
00:00:21:34:63:56
# Q1 n9 w/ t7 w1 g ?0 }- A' W. P
% f9 Q3 @; j$ g2
7 w1 x! S: W& u# w8 T, h) x; \" @" { W
Dynamic0 A! N( \2 U- Z
. D* m2 z5 ~- _3 }# Z, WNo8 G/ r& S( t `' y _9 O r
6 h4 P8 c9 g* ]# w% l+ ^- U
( l& i8 t; _: W* n5 I. S1 A1 Z% Z/ C4 D7 _
: @- E/ _5 ^ c
) Q$ n% p& ~6 z. w# Y, k$ N' J以下略。6 Y# M0 f( g; s9 C) q4 [, O
2 g; _; U2 I5 L: [ 此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。 1 Z% D4 V. r$ O# w
5 H/ J- Y8 r3 B" {( B$ ^
; t! ~4 Z7 i2 q* y) }5 V8 @
3 Q; _( R) ]/ P2 O# \3 ?
对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。 6 F% G& M9 [1 n* [5 H V
4 s- F. g1 G3 b7 q1 M
; s" }( u# |. {8 B) L( Q% Y5 i. Z1 c# T8 a: U7 i4 H
管理策略 - L; ~) p3 C5 j4 r+ m' g2 m; h( u, K
/ y& |( l- P; o3 A* }; a( v- L- }& u( v! R0 O* c
' `6 d$ v+ T+ j7 H' H( J1 b, ` 对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。 ' s, j$ h# L+ f3 I: `+ l6 M4 L6 ~
$ x$ B0 a _" j Q; z8 Q+ o2 H
% T& }* }: o* a" e! x/ S' \+ N5 d" o9 {; \1 _% d" \: |) s# D7 W
用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。
8 i! N* _0 i. @$ n3 |8 o8 t, n8 P; N9 E* D2 p; c
# n+ O4 x" m! ^: H P5 n8 F3 K0 L- P3 x! W% w
使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。
- j! P. m4 [. x( {3 \; [3 `1 l9 c& z7 p" P7 o: `# t# v
8 c- i+ J9 V. r: u5 E2 O. ?9 b) P) b4 V# ^' o* J
在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。
* S, Y' }6 w) P7 O( l* K) r! q3 S
" g, b4 a; v) T/ H' q编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论
9 q4 ^: N2 J* q4 H# ^学习, 交流, 进步才是最重要的! |