数学建模社区-数学中国

标题: 黑基原创:路由器在你的电脑里 [打印本页]

作者: 韩冰    时间: 2004-11-19 10:41
标题: 黑基原创:路由器在你的电脑里

作者:匙  转自黑基bbs原创精华版

5 ]$ @+ C) g+ Z+ \

版权归黑客基地所有,转载请注明出处

6 s2 u% @4 E- V* m' B2 d9 U. l6 m 0 s% @, E: N/ m( q0 X

看到标题,& P7 V! L, A6 e- U$ n 你不会认为这里说的是路由模拟软件吧?% g( [$ K- O# Q1 m9 k 不啊,说的就是一个台普通终端。 N3 L. H1 v" _" ?" Y 而且是单网卡的机器。

/ t" G! @2 T/ l+ k' ~8 y

也许你会说单网卡的机器做路有器不奇怪,% m }& a7 b: ]# W' {, @. [ 比如类似cisco单臂路由……

4 f, {; U0 ^; q% k1 s2 I5 A7 t

但是这里说的就是一台再普通不过的机器, 3 d7 {4 V# w' z甚至是刚刚安装好的win95。

6 R) @& J/ j7 K k) s0 z4 x

…… , O( L# I6 O! ^其实是讲ip协议在单机中的基本运行,3 u9 V4 x }" g2 y3 l# t9 p% d 本文比较片面,$ f U+ o! O c9 M; Q 因为对ip协议在终端的运行机理没有深刻的理解。

9 g0 E8 T; ^. o+ n) a

ip协议在电脑上安装后,5 c$ S: q; M& q2 K7 S+ s 就变成了你上网的基石, # S( u. z( z- `7 ?) O2 T) W每一步连接,$ O* [1 p5 P# p1 K6 _ 每一步探索, 7 v& V# T1 _" m/ I1 j6 r6 |% |都由ip协议群在幕后安成。

9 E! R3 {/ o/ b1 t+ ]- R B

ip协议的安装是要和网络接口(NETWORK INTERFACE)绑定的," D. E- B8 g# `+ T 也就是说要和网络适配器搭配着安装。& p: i) z: a* n; W: d 比如:MODEM 网卡、 虚拟的网络适配器、 VPN网络适配器、 拨号网络适配器、 等。

9 J1 }# t1 P. N) _% b/ N- F" v

IP协议安装后,8 y/ _7 Q- u% |2 `/ J/ V! z$ _ 会为网络连接创建堆栈,, {" d( V# y- t) M ~/ o. u+ h 为自己创建一个127.0.0.x的本地回路, # I t$ f7 M- p* y自动获取或者等待用户手工设定一个IP地址,( Y( I* }* }0 V6 C) W 向网络公布自己并探索相邻的协议载体,; r1 q8 \) Q9 q, X 侦听来自网络的数据包, / o, b/ y" D" f8 e* q. J% ~按照IP属性设定的DHCP,DNS,GATEWAY等网络规则通讯。

/ g2 m5 u+ u# J" b6 G

INTERNET中不同网段无法直接互访,+ Z! r; }3 U5 h1 x' x* U8 X( E I/ r 需要借助于路由器包转发功能解决,6 {. L8 d, Y( j J 规则的根据是一个自动或者手工编制路由信息表。

2 D+ h a! ~# e0 J8 O

其实在单机内部也是存在包转发过程的, & @' L ?& P4 G7 b; |% J3 D, ^ROUTE命令可以为我们展示一张路由信息表:

3 O+ H" @. t' {; J6 o

C:\WINNT\system32>ROUTE PRINT 8 S1 P: F3 @7 ~+ R. ?& W* b===========================================================================, w) c4 m6 d9 t9 E0 K Interface List7 _+ G0 ^$ _0 G+ o7 ?/ L( N: N 0x1 ........................... MS TCP Loopback interface9 B. C5 U6 L, B+ Q" m6 f 0x4000003 ...00 XX XX a8 XX c7 ...... Intel(R) PRO Adapter) G9 ~5 O' {0 T) R: A ===========================================================================: v: `# j9 v6 J2 H2 G$ U- b/ s =========================================================================== # p4 [' k8 j! @2 q2 P) |Active Routes: 5 L9 L( [; N2 b7 MNetwork Destination Netmask Gateway Interface Metric 4 P( N ~, b7 U* T- ^3 S0 [" J# \ 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1 ( ^5 a3 S+ ]* W0 X n 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1, y" V# t4 }9 W& s) O) s0 `1 Z4 H 192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1 , J' \1 }# O; g! |$ q" h 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1 $ ~" l) u, d3 ?& a* K' F( y 192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 19 t3 P2 g. e) z x. y! t9 A' c 224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 10 p, y" W% _+ `. |% U, n 255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1 ' A- P4 n; e$ @) w xDefault Gateway: 192.168.0.1 , ~; A4 y3 U# f5 e$ b! \ k===========================================================================; M) V2 Q; s5 R+ Z Persistent Routes: ! R% S1 v- ~' A5 } None

8 [1 f* Y" e, W! m/ A" b

这张表告诉我们单机内部IP协议是怎么样维护着不同网络段数据包的转发,

% x( j3 G; i# \, J4 E e

也许你会认为电脑pc应该只存在于一个网络段,& a$ U+ Q& t" D* q' k 宏观的看是这样的, 8 f7 s5 u" C4 j& p- S这里说的却是从协议内部微观角度查看。

1 |% G: ?8 ~" W4 e9 E5 V3 ? p

在内环境中,) b( m2 X2 U3 i( F: Y" E, g# J- Z) O 电脑工作相关的网段是:

2 n! j6 q$ ^- r/ E+ @! V- W- d

1: 255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1# q; A+ q- k2 ~ 面向网络接口的广播,不论你是什么网络段,LAN还是INTERNET,都存在这个网络段。他是这台电脑与身边IP

( H# c$ s0 N! p& `4 }

环境通讯的基础。

; N. F# A0 d3 Q1 h8 a2 U; c

2: 224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 11 L& a, B. v6 o& A. G 多播地址(multicast)同样是探知网络。多播地址利用不同的多播地址所代表的协议或者设备 有针对性的对网

: L1 s9 u4 d$ N C, `( ?

络环境进行发现。

# q5 l# Z1 t7 q, [7 {! d* B, {

3: 192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 11 M7 @3 I& z3 W3 g1 c8 F3 e* [ 本计算机所在网络的广播地址。他的存在是与同一网段的机器进行通讯的基础。

8 C, B, C5 Q/ E

4: 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1 6 @& H9 H0 c# V' t本计算机自身IP访问自身IP的环路。这个路由定义了如果这台计算机访问自己的IP不要经过别的网关,直接通

3 A7 y1 `/ U+ c' t

过127.0.0.1本地回路IP访问自己。相当于自己是自己的网关。

% s6 t6 _( n+ ~, ?

5: 192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1% {1 U/ K& _) H- {; ]* ?* E 本计算机所在的网络地址,代表了一个网段。

' T+ ~& ~/ Y# c6 a

6: 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 11 A8 n G _- b& F0 | IP协议规定的本地回路的固定地址。只要安装了IP协议,就可以用127.X.X.X访问自己。为了数值的统一,都

. X, e; J4 V( J& Z$ L

用127.0.0.1代表自己。

8 Z. i I4 |7 R: ]0 b$ L. b

7: 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1; i/ x [' u, r# m 这个和一般路由器配置的默认路由是一个含义。代表了面向应用的,所有目标不是多播,广播,本地回路,本

6 p: t3 @+ Z; g4 E5 A

地IP的数据包,全部通过指定的网关进行转发访问。

" X# O0 X( `& e, H

2 d5 T( N5 [6 k% w' c 路由表在路由器中的配置有很大学问, ' ]9 x Q# W% r; f7 T很重要的就是表项目的顺序。 . q: p! }9 R3 W一个顺序合理的路由表代表了性能、安全、高效。

3 K2 f- c7 A' Y( v0 d1 t- M

本地计算机中的静态路由表, 9 G8 |$ V! \! r' y+ w如上面所述的表, * i4 T+ w. q% C& x; ~- j$ P也同样采用了选择顺序,3 }2 u+ C* m/ O: e3 d& O) x 从下到上。

# t" q+ K7 D) c# |. N6 n" U

本地计算机的环路路由是本地静态路由表的特色, : w* R2 e `/ U( e 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1' |2 e8 `5 B* `( x0 ?& d 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1; Z7 D3 ^8 L9 p Q, A 这个条路由信息可以: {7 Q% Y/ P% N$ s9 D 1: 有帮助的。 4 ^! L8 D' d% `可以帮助没有真实网络环境的人,测试本地网络应用程序。用得最多的是本机构造IIS、网络程序编制等。9 E# J8 e, k2 p9 j/ o 2: 安全的。 % _4 |) x& I9 Y0 P6 P) X2 V比如计算机在启动过程中运行的很多虚拟子程序,服务程序,防火墙,系统进程等,都要访问甚至和连接本机

! K" b. C V! c

其它程序端口。有了本地回路这种路由,就不用通过网关,很大程度避免了系统信息外漏。$ P3 D Q R R0 p; N+ p2 i0 i 3: 高效的。8 {5 z8 p( I) G9 e+ g! f; L( N) F 减少网络中的流量,并且直接采用本地环路,减少网络质量差的错误等待时间。

/ G& G2 l6 l! v( j: @# x( S

用户完全可以自己增加和修改路由表,3 j* w/ X) K; F3 j$ J) y 比如一台电脑和其它电脑连接成为网络。& M7 K9 n" j0 R/ g# }2 D! W" C1 y+ A! M 但是他们的网络ip不在同一个网络段中, 1 c; w; F3 S+ [7 D" a4 `7 l可以通过修改静态路由表, . T$ A0 J7 c5 D f; w* n9 a达到网络相通。

( m& e7 @( q; i# N& v' i

这里要说的是,4 }$ E8 \0 P/ o, v2 u: E 有网友问怎么修改静态路由表和不同网段通讯, # F D, c' ^3 L5 x) s) N网上的我见过最多的回答是:1 z. T" o6 v4 t. E, ? “用 route add xxx.xxx.xxx.xxx mask 255.xxx.xxx.xxx xxx.xxx.xxx.xxx metric x 增加一条静态路由就可

- X3 }9 D& ?2 s) X

以了”9 n1 o4 _3 S& Z; Y 但是实际上要增加两条。1 m: F: E ]% c2 h6 w8 m0 m; Y& v B 网络协议服务的对象就是多方的,$ {: ^- c" N" v5 m* S- J 只有一台机器知道一条规则是不够的啊,# R0 }4 t4 t2 x9 d! ?( x0 f 所以两台或更多机器上面同时增加到对方的静态路由信息, * m1 g j/ L3 p1 [ J4 W5 Q5 G双方都知道怎么连接, ) h S0 |8 @! @才能建立连接。

* u- M r/ w$ p

本文由于我对tcp/ip的理解还很浅薄, , u% B" q: X+ R* t- X, T/ q有不对的地方, 1 h6 P) ^, K, J0 V8 ^( A% U还请高手赐教。

( o: P' v4 y. `- b a5 j9 M

附: * I) [. t1 m. X0 W! c" G; Froute命令+ b0 ^' [$ k; u+ j; z ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5