|
作者:蓝色烟火 转自黑基bbs原创作品版
& t8 |. Z: f" `" a版权归黑客基地所有, 转载请注明出处
) i4 U$ J: n0 r 网络简介
) g( \ [+ y; Y1 A: e4 [
, V8 a' O' s5 {; B- l |& b
3 K1 R" |0 a; r. M+ f/ q c/ H7 X: ` 作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 % N; y' Z% ^$ R0 } q R
) H) c- F9 Q! S4 r X
/ q0 u7 |: w8 r1 f* I; |9 x4 X3 q/ h, P0 Q: d
问题的提出
0 ~, K9 Q& B7 Z/ o
/ k) |+ v: B$ Y$ n/ s' O/ [
) Q% B z* k2 E' f. }8 ^ 我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。 ! @* [0 w, S3 I; Z0 o' }' i
7 R6 Y6 c- C! m* V# \9 b' G# d. h( q. ]: O
( [: ]2 v8 C$ Q- m5 V$ K% v
分析原因
3 q. {& K) l3 ^/ Y' O- w& t! E {7 z* O p8 E
! Z, @7 x1 p m: W, t7 \/ l; o9 v( t/ L$ w" n/ r. Q9 W8 _ q
出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 ' T& L/ C' Q! A
1 P$ [& C# y% Z, y4 q6 S
6 [. e ], D! }! {6 h- _4 s9 O; y& [6 _0 D8 ?4 t
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。
x% F5 k) g' t" l% S1 \( K" X4 ^3 H) c0 T1 n9 w* w
' C* X F7 O* \) Z/ B: v
1 ?" U8 m) a/ ~# r$ Y+ E% f 解决方法 9 u+ w( q& I; p% d4 w" z1 `
( \3 s: _( r* p4 ?7 a- x& A6 S7 o, x# o, g& r- Z! H8 f3 Z5 Q! u$ O
) K G6 E3 y: \ 接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。
. c5 I6 u/ f4 v7 p; m# s
w! g0 V9 k- N1 `) o( b, X
4 j% j6 W! u, W
+ N* ]# V; ` T 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。
, i8 T3 Y1 q* L; U" V' J/ k0 J# J9 l9 n! Y5 u3 M
! y1 U, Q7 ]* g/ O% J
" ~) ?3 }. h0 W4 |
C:\WIDOWS\〉ping 10.119.40.40
# z7 ]) z) D/ K- f3 w3 ^, C7 S. [+ V) I5 T# u5 W, i( f% X) h) i
! @4 ?7 X- U* A6 L! S; D
. Q- m8 V. p+ E) `
Request timed out / O6 }! U0 Q' Z" R% E6 k
) [- l/ P2 P& j8 {" v
! D8 Y0 t2 u- G
i v( J" d- Y- j5 w Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 - i4 Q& @% P, _6 b
- Z+ B6 I% t9 g; F& L6 t( k
; d% x" a. ?) M' V5 F$ g2 t, g, F, F9 L, t, k# i# a- u
我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。 3 Y9 p, U% U' e$ f3 U5 n4 b( g% V
- }- h9 b6 [2 p. N; Y5 E
) [" o+ [$ {5 h* ^( ^
) l) T: A6 S* q5 s C:\WIDOWS\〉arp -a + } D0 t( S$ e' U) h+ V1 @1 J
. ?; U4 ~$ U( \1 c# H
* `4 g4 R! B! k9 {) @
: z, x- V) i. E6 l) Y( X Interface: ...... on Inerface ...... : l% J% C% }$ A" {% |+ h4 c p6 `
' A- M4 N1 @- [' T5 X. |0 @ i: ^. R/ L' D# Q
! m2 ?7 S8 x" v3 z: |/ v. g& ^
Internet Address/Physical Address/Type 8 _3 J, l$ Z' U
" W( x6 J J7 |7 |7 V& P+ j* E! a. E
I3 m9 u( p; J k, V) ~/ {, z
5 @+ d5 }" I( _* } 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略
]# k+ g# g' A0 }; m$ ^
K u2 f& M3 Q( z5 @2 N: b- W7 j" O& K. X
! H O" [% Z; P; K: @8 @0 {- \ 以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。
# }: T, P: `6 a
$ E1 [- O: ?. s9 ^/ c# E* c: }0 Q& J2 B V3 ~0 ~0 _8 Q( P
( t5 U7 E/ z$ F# Z, ]
网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。 - t1 o/ S$ w1 L0 D0 x' d7 ~' x- ]+ A. g/ ]
" Y; T% D, w/ ^& E% j/ z
. E' s7 g$ W7 H- S( i! M, H9 {) k9 J
在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 , {4 C$ b- |& R; o8 c
8 S+ o' @7 s( p0 ~4 R0 V, j8 A( v7 k
4 b" a- ^ Y- P& t
* 在网管员的机器上启动浏览器
9 V! M4 K5 w+ ]$ o6 }' W! I
1 O7 _/ }% v1 _9 H8 s9 M% U) W# g5 |8 J/ v$ x
* U* e7 q& f4 x& [" \6 R * 键入交换机的IP地址
D1 S0 ^% I$ X/ b
1 e: L6 I+ O2 Y( ^
3 U& R; z+ B; L- K" D: k3 ~2 M; t
/ g; j8 |. D+ k, ]$ X3 i * 提示登陆信息后输入用户名和密码
/ ~2 N# U& Q: \6 c" H2 o- u# \ x+ e1 j+ m" F! x; |
+ t5 ^0 F, C6 Z& a! Q
$ c2 l U# c f% }; ~% O4 ~ * 进入“MAC Address Table”选项 + _; I. X7 q& a
B" B, P# M5 S1 x, G
5 V+ L% r0 B( H1 y
9 M1 B1 o6 d8 A 显示表格如下:
2 g: ~, @7 X& Y6 i+ g! P/ F
9 a9 Y9 O% M6 X# a0 |1 t2 D2 R4 w7 h& V% B0 ?+ E! P4 ^
) L- E! C: \3 J% _; k3 a, qIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 10 b1 A+ u w) J9 M, ?+ [
) J/ n* d2 P7 U00:00:21:34:63:56
$ r- f9 Q- f# J9 @ @! j7 A' W, t# [) B
13
' M" `6 p2 w' X( U; e+ ]/ t) K! z p! g, n
8 a: g* h. `9 yDynamic: X) E" y" A- c4 X9 |( J' X: N# Q
' a: v5 y9 u# j/ N* mNo
. ^ }$ p! e& D: | B/ Y
: f: U7 w* X9 K4 J, q& S$ C) `' f: x, I, k) U, k
( I4 c; { c2 P5 \8 e; z2
& Q# o$ x: a: Y# g& o; b/ R8 m* L. a8 K1 x( h
00:00:81:65:c3:a0) o2 O F% `/ N7 [
/ D' {, v1 m6 E. V" [8 l vN/A% Y& ^9 e- x* s6 v' d* j
) Q* v, f9 n% x: B% b, EStatic4 w8 B5 Q3 g3 V. {) ?
3 j7 Y0 b5 w9 g* QNo8 G4 B* U4 W6 I# C" n
9 _* @2 T7 E) q4 h9 Y/ d0 e) q
$ P. D9 b3 Q" U5 ~' {$ d3 C
$ p B `0 d$ c; c
3/ D. I4 v4 X/ u" T2 j" r2 ^4 g
% ~; b0 Q* w) k00:00:a2:f7:c3:e4
0 e% m# R1 m- A O& [3 Y0 X P3 T! A9 @- E7 i8 T. |5 ~ v1 [' h- X
25
7 ~$ z# L7 P' p' j4 z, }4 a, l' w5 ]9 { R
Dynamic* M8 ~/ J/ K& E; `
' ~" S% O7 _1 h; E7 F& P/ G
No
5 a2 H% }) o! p) l$ H$ c: G# ]0 P' k2 \. h* h: f+ X
6 A( b @- |0 N
: ]' u7 n3 v9 x$ k |$ |& C
4
: l2 h. W# w4 {" N; A( s+ A% T4 K/ {5 H* `1 A
00:00:21:34:63:56
+ m7 ]8 g9 j) q7 M1 Y$ H& ^5 E# ]3 R
! I5 R3 k1 N9 ~9 L6 w- e2
9 Z" S. D! e3 I" i3 b' Y
- x% b; \; ~$ y3 _( j( e) D9 ~Dynamic
3 |3 @' P: E4 V4 Y; T
2 G+ |& u4 Y) d, xNo
; F `) q6 v- H, H$ I$ X
8 Z2 y% c% X; S) ^. N0 N- u6 M2 C0 r
t: C" Y$ {; E; x& T$ t% r* s' `
, k; `" P1 \/ d8 [以下略。; c0 s6 u# ]7 [ `
7 }" b$ j! d. I. }7 }$ o" ` 此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。
E3 A: a/ y* e& a) z
8 |& Y) b/ O/ Z' d: i" J+ T
5 }( y9 L- j5 e; v$ Q1 ^& c) E- U+ ], |- y' x& m; h& M: Y& c5 n
对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。
4 w9 _, q* B1 K
: Z; o" I+ K- i# S: O
! D6 ]2 G! U4 W6 k: J- j6 m) b) m$ k; k
管理策略
$ {# Y. X. {+ p# q0 s% h$ j) b: I! g. v1 R% c/ [' l
5 I( M2 i1 [! E1 F: {! H
0 i9 g( {/ A9 o4 A( ?! ]3 i7 V' M 对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。 : ^( y' t3 R, _/ }
* w# o! K5 w; f. L; O1 V x
2 A: {: g! f+ V+ ~' K! e0 M
, N f( J+ q% ? N" l0 }4 b* E- u) L 用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 4 l7 l9 D) t( q. [9 |0 I
; d; Y, z9 _& x* C/ r7 H+ d, x7 E" M0 [) B$ a$ u% e) o$ F* ~
+ @' z2 }8 _1 O- T; C% _* c
使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。
; [: _/ [) G v& q8 Q( V! a5 a7 w3 x6 V% E4 t0 ^ }0 ~" \3 k
8 N( W6 F0 z, g, c
7 z# k/ y {8 ?/ E; }" m/ k 在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。 N# }2 }# t+ T
4 u& v# |3 ]/ t# d! s7 h
编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论
. ~8 h5 c, D& ]: y- c& d, l+ P学习, 交流, 进步才是最重要的! |