数学建模社区-数学中国

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

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

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

( V* ], k% [2 \! T! u+ `1 ?

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

, W1 j3 D* c. s- }7 w K2 | % Y, d' T1 v# E( b7 e

看到标题,8 B+ I' v/ F* X1 [& h2 X4 e 你不会认为这里说的是路由模拟软件吧?, [. d% g+ Y& Y- w& b 不啊,说的就是一个台普通终端。 0 ~0 k4 q% c* Q+ W$ I. Y* k而且是单网卡的机器。

& K5 D7 r: ?3 ?' S9 B/ m) A

也许你会说单网卡的机器做路有器不奇怪,- s- J' {! ~' b! t6 G 比如类似cisco单臂路由……

: |. n% J4 x* K$ H$ K5 ~5 r( U

但是这里说的就是一台再普通不过的机器, . G( H6 X2 E: m P1 H% [甚至是刚刚安装好的win95。

( t: X3 I H" C+ D- V9 V/ d

…… 4 J5 l; J9 N) b" j4 m其实是讲ip协议在单机中的基本运行, 1 j" m( t% i) a# i; U1 |本文比较片面, a: Z) o' v% b7 f8 R; O因为对ip协议在终端的运行机理没有深刻的理解。

$ a+ V$ t( y0 B+ s0 }2 H

ip协议在电脑上安装后, 0 l/ T- y) C- S- ^, @9 e就变成了你上网的基石,, @! u. b, o& G4 j& @5 _9 I- s 每一步连接, 5 S7 {9 Y8 M1 Z每一步探索,% w) p, K* {2 ]4 f- t4 O( U/ @+ Z& r 都由ip协议群在幕后安成。

: _- y2 a4 \2 N% h; ? V

ip协议的安装是要和网络接口(NETWORK INTERFACE)绑定的,/ M0 s: M% b9 i 也就是说要和网络适配器搭配着安装。0 ~) H& Z% u# t) K' u 比如:MODEM 网卡、 虚拟的网络适配器、 VPN网络适配器、 拨号网络适配器、 等。

a- R- p, z& A% R( E3 H

IP协议安装后,, K5 [& i, z5 q/ i 会为网络连接创建堆栈,6 w9 s$ }9 F8 K 为自己创建一个127.0.0.x的本地回路,9 T# N) J Z i4 Y 自动获取或者等待用户手工设定一个IP地址,, \ ]4 w, ~6 B& q 向网络公布自己并探索相邻的协议载体, . U1 R" u& l/ x6 i侦听来自网络的数据包, ) j# O3 y/ I, x, _" L% _% n8 \% x按照IP属性设定的DHCP,DNS,GATEWAY等网络规则通讯。

9 O' y$ [, q/ S2 O$ P) ~' N& f

INTERNET中不同网段无法直接互访, 3 W. S/ m5 D* }4 B; O需要借助于路由器包转发功能解决, Z+ t+ A& B0 P' l) ^, w' w% i 规则的根据是一个自动或者手工编制路由信息表。

4 o: I* ]& P4 O2 A; s

其实在单机内部也是存在包转发过程的,. J7 {$ g3 k8 d9 _ ROUTE命令可以为我们展示一张路由信息表:

- r% g+ {( d+ \% U7 h

C:\WINNT\system32>ROUTE PRINT 8 d( [* u: b8 ]0 f, D=========================================================================== . `- k0 O, R% G" G. iInterface List % O0 G) n8 m$ I( N! Z0x1 ........................... MS TCP Loopback interface" n- R# o* s. X! l% J0 P 0x4000003 ...00 XX XX a8 XX c7 ...... Intel(R) PRO Adapter6 J7 K, a8 n" p+ v! J ===========================================================================0 D1 e4 t% `; F4 M; t4 Y ===========================================================================5 X3 Z, n; b6 d Active Routes:3 T9 O4 t0 D4 U3 r Network Destination Netmask Gateway Interface Metric ; `6 d: u& R) w" o 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1& p# B6 h0 [$ F0 J/ h: K 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 ( l+ h( N, u {/ C4 } 192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1' W" e: j" A$ a4 t) {) Z 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1( ?/ t: j# l; P" M 192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 1* Q3 s: m3 S0 H" R( A 224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 1- p+ l- P9 I, W/ s 255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1 , H# @0 e( [( Q4 m% cDefault Gateway: 192.168.0.14 E- @' `5 Z" A x, h; C a ===========================================================================/ C9 M) G& | ?9 v7 {) {4 e Persistent Routes: / l! |) q1 M. d7 _ None

' \/ G" ]. ~' R! Z2 ^$ U

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

- q {9 s8 |8 m( M

也许你会认为电脑pc应该只存在于一个网络段,; K! t/ i# p/ F' F 宏观的看是这样的, v2 {. e. z8 y+ v7 z 这里说的却是从协议内部微观角度查看。

( u0 C' M$ ~- L2 w

在内环境中,9 `7 Q; v: \& ]: Y' p8 T( ~% ^ 电脑工作相关的网段是:

7 `) ?% R4 b% G

1: 255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1 * ^* l, d4 y" L% p4 |0 C面向网络接口的广播,不论你是什么网络段,LAN还是INTERNET,都存在这个网络段。他是这台电脑与身边IP

# ]* f) E4 F& e7 v0 }

环境通讯的基础。

; y& s) z/ B' e9 U! Q/ O

2: 224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 1 & u( ~; n2 f9 h, Z$ @' ~多播地址(multicast)同样是探知网络。多播地址利用不同的多播地址所代表的协议或者设备 有针对性的对网

1 h: {# k7 y9 q

络环境进行发现。

; }5 J5 H. f1 ?

3: 192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 1* Z& g$ ]% L9 Q! Q0 ^ 本计算机所在网络的广播地址。他的存在是与同一网段的机器进行通讯的基础。

8 p* a6 Y! p3 M* v- V4 }" |

4: 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1 7 T& ]+ `1 F, ? 本计算机自身IP访问自身IP的环路。这个路由定义了如果这台计算机访问自己的IP不要经过别的网关,直接通

6 ]( B7 }- N. Q$ R U6 O: X ^# d

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

. S8 b. Z3 `9 z$ M6 }" N

5: 192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1 + x0 I. O) g9 k' M0 f0 I0 B& W本计算机所在的网络地址,代表了一个网段。

6 i4 `$ q T. D; C5 Y' W+ b) N

6: 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 16 i" c7 t2 B: X o: W: [ IP协议规定的本地回路的固定地址。只要安装了IP协议,就可以用127.X.X.X访问自己。为了数值的统一,都

# O8 N, ^; |6 |' v* ]

用127.0.0.1代表自己。

7 _& q4 p$ a$ g i; p: M* m- c2 f

7: 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1. o; t8 G8 i2 d$ n 这个和一般路由器配置的默认路由是一个含义。代表了面向应用的,所有目标不是多播,广播,本地回路,本

p8 v& n0 i6 E" O! B

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

8 ]& |* K4 T& f* e1 ]4 O

# i! [7 m) G# o9 j路由表在路由器中的配置有很大学问, 4 y6 \6 G) h7 S很重要的就是表项目的顺序。 : d: W) Z$ @) y7 u7 V; k: i# _ j一个顺序合理的路由表代表了性能、安全、高效。

) z; V6 z0 Z4 \8 K* E. X: I

本地计算机中的静态路由表,; \& n% k2 ~& {: J: x 如上面所述的表, C; k0 g* V+ r' C 也同样采用了选择顺序,/ ?+ C# T# }9 K; E5 k2 f( e 从下到上。

$ n" `2 o0 `0 ^ t( g6 c$ _

本地计算机的环路路由是本地静态路由表的特色,5 ]: d. s3 a( }- G, l8 [5 } 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1! v: R% Y% g" p1 {/ j5 i 192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 11 X; }1 o, c/ W O4 m0 n 这个条路由信息可以:' p5 X3 C3 {. y+ O. V' R& P. ~ 1: 有帮助的。 s6 q; W3 ]5 G5 u( c 可以帮助没有真实网络环境的人,测试本地网络应用程序。用得最多的是本机构造IIS、网络程序编制等。8 l0 X4 v3 d0 J a5 N$ i, H' s 2: 安全的。 % |/ n+ ]4 r5 M: W3 Y2 n7 V比如计算机在启动过程中运行的很多虚拟子程序,服务程序,防火墙,系统进程等,都要访问甚至和连接本机

9 `' A9 a$ }1 U4 e( L! Q4 E2 g

其它程序端口。有了本地回路这种路由,就不用通过网关,很大程度避免了系统信息外漏。 2 d; Z% q6 C# D X/ K% j$ e3: 高效的。 . _% U# b6 Y4 G2 v5 E% s! U, m减少网络中的流量,并且直接采用本地环路,减少网络质量差的错误等待时间。

+ b7 }% U# S/ y# u9 ]& Z& h. q

用户完全可以自己增加和修改路由表, * q- ?9 h5 O# t% M& m' T比如一台电脑和其它电脑连接成为网络。 1 Z E1 R1 M, l% z' f但是他们的网络ip不在同一个网络段中,4 m! ?4 M4 |3 b$ Y! y 可以通过修改静态路由表,- S9 F9 i% J* j8 ]; E* u 达到网络相通。

, s- \1 |5 l0 }8 g0 x- q/ {

这里要说的是, 7 Z0 D6 o+ m: Y8 g有网友问怎么修改静态路由表和不同网段通讯, 2 p: [( Y0 Q2 O3 a6 ~% Z网上的我见过最多的回答是:" |- M2 C$ y/ P8 k “用 route add xxx.xxx.xxx.xxx mask 255.xxx.xxx.xxx xxx.xxx.xxx.xxx metric x 增加一条静态路由就可

) C# j W+ _" f# H

以了”! O* j, N) |8 v8 w" n$ V1 d" j& k 但是实际上要增加两条。 5 h3 s5 ^2 {1 Y. e网络协议服务的对象就是多方的, 3 Q/ V( M. x' i7 [0 p% `$ r4 P只有一台机器知道一条规则是不够的啊, 0 Z" p& F! O8 Q3 `4 C所以两台或更多机器上面同时增加到对方的静态路由信息, - x: a& ^3 [) R& |) F# r, @双方都知道怎么连接, & _ C; S7 ^8 w1 p才能建立连接。

" N6 l0 ~: q4 D9 W

本文由于我对tcp/ip的理解还很浅薄,. E( B; Q0 g0 p% w5 |- Y 有不对的地方, . n7 B7 Y% u6 p3 z$ }' L还请高手赐教。

7 {, }$ o% Z& P! n

附: $ g$ A6 d6 N# D2 y9 ~route命令- E; W3 r. i' G5 O y ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]






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