|
作者:蓝色烟火 转自黑基bbs原创作品版* y, K+ s+ }/ A* j0 W C0 ?
版权归黑客基地所有, 转载请注明出处
7 ~6 p3 c8 @/ Q7 B 网络简介 / v: c0 i, V- o/ ]! d
( n: k6 B1 T8 J4 l; R7 x) f* J% f* Z6 A; {; t) u$ Y- Y% m i
作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。
9 V7 y" J$ _! X1 S* _4 t) B! F! s* G; B$ t
/ m; n3 i* m6 }, n4 N+ G, r/ \, q2 ?6 k: y8 e. D) }
问题的提出
! X, }% V/ h' ?$ ]/ B/ X& X0 k% u. ~4 p* {" f/ e6 E ]0 C
/ [9 D E# x6 g 我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。 $ P: r7 N$ {2 J* [0 ]; d: f) ~
' ~) @" Q9 d) a: U& J/ t
5 `$ Q# i+ K/ R: F$ j: |
/ z/ V, K L+ m! S 分析原因
2 \, }8 w, |# I" N$ f. e. k) y2 F# h8 H. N/ |# o k
: r7 [$ ]: L' O; L% b
: k/ d2 `; w0 Z z/ T0 y1 [ 出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 # ?% g6 F2 t8 M* e! l; O
1 O( Q ?8 e* d! Z& W
+ D/ m- g0 y5 O0 U5 M. H3 |- _' }; ~
1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。 & T. I/ X2 \: Y+ A
! h' W* j1 v8 V) o; f: e/ A' l, A( F# q# w" U+ b6 @
7 O9 V; M/ p3 `# _% ~1 G+ Q3 m
解决方法 8 H' V! d+ K; R% w: s2 @
8 G) n$ t7 D; u' Z. u3 D
" C6 [: }% m5 J) u. N
( N; V+ b7 ]% r6 u ^& q( ]
接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。
W- s3 G) j1 l% X6 D4 m: w
. Q: c N- \8 _ _2 D2 r4 o3 j( u$ V4 [6 o3 n
3 k$ N2 {4 h0 G5 G 首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 / ~5 B2 K$ f: z a4 r$ T
) b! b. l$ x9 |5 h3 W
; z5 E+ Y! _/ D8 {( B
+ I' _7 J4 e% V x/ u* y" O C:\WIDOWS\〉ping 10.119.40.40
A) c0 {) V# g5 C+ K) h. X
$ b. I: z! a, }4 R, Q3 Y3 a4 p: _9 v' A: b
/ S: g6 l/ p# d) n Request timed out
4 }1 O; ^! g, s- ]" o
3 Y j! e" C8 l! F0 E2 @5 j0 M6 W
6 x0 V. J% A4 C# R" H
Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略
( Y2 D9 c& |, h( D8 F9 {' L. k K0 n2 b. I
" w( v y) ?6 `9 |: m9 o6 D3 n. R; i0 M2 V- g+ G9 t
我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。
6 E3 i% m1 J8 b& C- m: P. R$ f4 X1 S' h3 y
, K2 s- ?5 q. u% S# a. p7 g
4 |) a/ V0 K2 s8 {7 \' l C:\WIDOWS\〉arp -a # v4 _5 c& k: Y6 j1 X$ W# F# K
+ N0 E! `0 F" p- r$ P0 S7 ^; Y* \2 ~' o( P7 [" R4 x: b
* @0 ~ Z, x7 O$ P5 h$ h* T( U3 W Interface: ...... on Inerface ...... : h1 X5 x: Z" a; u+ Q
! S0 u, L' D' ]$ u
x4 q a2 `3 }# a' h! k% H! O8 ?4 l- h, \' ^" p1 u
Internet Address/Physical Address/Type $ k% t1 L+ e* n' i9 v( H& H
7 m6 ~( O2 m) I2 R2 z
3 t& S& K+ ?/ t
+ Y* x( J3 K$ o! d3 w* N/ { 10.119.40.40/00-00-21-34-63-56/ dynamic 以下略 " @. M+ _8 R) D
9 x; E. J9 l; [: d- K+ I9 G; P$ P1 {1 B. D; X- b4 T# Q! y; Y8 Y- H
2 |( u& A4 C: b/ w) n7 i
以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。 0 P3 N @# i) U; f ^! ^
# |# `( E* R3 s; {
* k- L1 W& j2 q, h$ ~! S! }. U0 F+ C# k* V! |
网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。
0 q9 U; H/ c' w w
7 j8 p- ^4 @- r* C1 V
6 |, _4 ^* Y" z" i1 N% i* a) I8 w; [
在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。
4 C% v7 b% C: ]/ H3 v$ C' c" B/ M, d5 r$ T- ~
0 _$ ~/ r% \. {# o! ^! P ?- W! C e) H. ^' @1 Y9 K: j
* 在网管员的机器上启动浏览器
1 c/ M$ Z. K1 h9 u
1 U W# o) I% M; T; |
, A- G+ W6 @2 l/ H2 M" z
" S' Z0 `. }5 ?7 e% \* E/ u * 键入交换机的IP地址
" J: K Y: f/ Y, O1 N2 c4 \" k0 L+ F: k: |" e
% F7 ~: }+ h- m3 @5 @" ?6 X6 z
) u& h7 e0 w# q- p
* 提示登陆信息后输入用户名和密码
1 |% ?3 b) _ l' m1 e# T K/ K w" ~) g
5 S1 x# j, D0 `* x0 |! H
4 j4 G7 ~ V& k6 P * 进入“MAC Address Table”选项
6 T- Y* P, h* l% P$ Y- Q. t' v5 y$ H! E, W9 x4 M
# t3 F- n% R1 i/ K/ M
! v) e0 t" V& H 显示表格如下: q, J0 z- {8 N# O3 H8 U/ R8 s9 H; W
# q; c' j% X% t" ?" D }* G2 q1 v0 m1 \- _/ G5 f7 R% l
# @! _ F/ I/ C/ e2 k) nIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 16 O( o0 Z: m; W. {. q1 f y
- V- N9 y" h5 c+ S8 E6 v5 A
00:00:21:34:63:56
. b H7 F+ H3 g4 [! \
7 z) l4 j5 P6 `13
+ n s$ ?7 x! ~, Z4 U/ i! g A9 b4 J: H* N' ]; r, k" L5 k
Dynamic5 r7 w5 |) n7 U5 }
# o) n2 S" ?! ^$ l: x
No
6 j5 @8 v4 k$ A1 x9 i$ u3 e
; v% q% R( h2 X. G
5 b- D0 w( \# O' _( e% I2 a+ R7 K& U- @
2% |, d( b2 {! j9 u
) ]* t% {' `2 l; N) B00:00:81:65:c3:a08 c& B! a D, M/ W7 V
9 [; o0 y% j9 z* ]7 f3 B* Q$ Z, h
N/A% n. q9 G( k, {% e
- x7 k7 q' T& f3 ~9 J3 ?Static- i& \7 \) z6 P1 A0 R
; u" H0 t( G6 lNo2 H! A6 ~9 j# @, \
" s: `: z" E T4 C3 X2 I5 P
* q! E! D1 p9 t& ~- l* I5 p# c" `
; _( H; v5 q: v8 I- g, u! F6 |3
7 a. e# W# Q" A! y8 n F
9 z4 j/ [0 D( V0 t$ r( A* J! r- O00:00:a2:f7:c3:e4
9 \0 f8 }% _9 z. T$ }# Q' _' N- n) a8 R. N, u7 t+ g
25$ J1 g! u8 E* {7 H4 {7 o' k
- E$ P- W7 K" UDynamic& ?$ N- u- p+ l$ X5 h) r
2 ?* O# ?! j7 I) ZNo% W0 O4 x2 }. {
4 ]6 s* K. V7 i/ ~9 B7 T) m6 P
0 z1 Z+ u& D0 W6 i4 V
' v' B6 q1 y# L- }$ o4
0 F: W" h L- a6 M. v! j# S. u* ]% @
00:00:21:34:63:56: n9 B* J# c5 {8 D: {5 i' v
1 p- ^6 R5 \9 k4 I3 \2 N! G- }, p
2
9 U! m7 p/ T# X4 h$ f- [7 w! j
I( F4 ^+ n/ e5 @Dynamic
7 [; k) V) O8 p9 c8 h
; e% u" M% h2 T+ U" xNo. I4 P( `3 Z) ~( u% Q O
' h f& r) v& s& v9 o. Q
7 ], D; C) B8 |0 K1 h
% s1 Z/ h5 [0 W- P9 Z
8 U1 k1 Q$ H e! A
+ b5 |+ `/ p9 s8 R+ |以下略。2 R1 `7 h) R0 d$ E5 P4 Z1 v2 D
9 p) f5 f7 G/ K6 N0 E8 ~* B
此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。
. o7 R& I% H, j* k6 q. H3 N" G; _' t
" B8 H3 w6 F2 i K: ^1 [% d' s& z# M; p# Y
2 S, W; J6 X4 h, H. h/ d- A; Z
对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。 7 |7 n& l z$ }8 b& a
: G. ^" q% M8 R$ }
0 m8 N+ P, _+ R' t* B3 D& v1 P+ M: P6 `% Q. {3 V. K; O
管理策略 ! S; C" ^7 y% d% j7 D+ Y* r% r& I
8 N! w" V* y; |7 D3 |: C
P$ E% j% z, u" _$ o
) P- J4 i3 N! Y& J f3 m 对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。
# Q4 @$ X) @5 h& i( ?( Y, w8 a% {5 u. K& c- d# F2 Y+ D
7 [3 m/ U7 F8 ]
+ |2 `. o- n. m5 s. r! | 用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 ' ^, ~# J) i+ w# T
0 o, R7 C9 Z! Q# y+ v6 j# Y, l+ F- r
2 }& N% n4 T6 L8 z1 D! H
( i% _4 D* j; u$ A* K1 V: C 使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。
3 v8 D5 p+ V3 `2 b+ y0 }4 [
: [" z0 R3 Z- |$ K8 W
4 |9 m' p! T+ |' ?* u ^% ?9 v, o* ]& g
在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。6 b. |2 G( ~6 o: p* P* E
$ X& s( q! T8 ~- |2 K0 {
编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论; o# N! v, q2 l, e6 X% ]
学习, 交流, 进步才是最重要的! |