linux %o,Ubuntu centos

大家好,如果您还对linux %o不太了解,没有关系,今天就由本站为大家分享linux %o的知识,包括Ubuntu centos的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

Linux 下网关怎么都改不过来呢

《那些是乱码》不用理会

无线局域网密码破解

只要你要上网的附近有无线局域网而它又加了密码,可用此法一试,不过不要用于非法目的哟{^W'` sB [[t#h

第 1页共 23页

f(Jf7n*y'A无线网络WEP的破解过程/w4i;QY[9X

WLAN技术出现之后,“安全”就成为始终伴随在“无线”这个词身边的影子,针对无线网络(La#H kw$B#BBa

技术中涉及的安全认证加密协议的攻击与破解就层出不穷。现在,因特网上可能有数以百计,

w3sbuFv甚至以千计的文章介绍关于怎么m4q6MN `7g:av*L

攻击与破解WEP,但有多少人能够真正地成功攻破WEP的加密算法呢?下面笔者来给&e'N&K-u%a`}7P

大家介绍一些关于WEP加密手段的知识,以及就是菜鸟只要按照步骤操作也可成功破解hU"P"Jkfi

WEP密钥的方法。当然最终的目的还是为了让记者做好安全设置对破解更好的进行防范。l6k"H a'yi}@

本系列文章共两篇,在第一篇里主要介绍破解WEP的方法,第二篇里介绍如何设置WLAN}2V%U-fy$d|^d

的安全设置来进行更好的防范。

%J0Y!U6O^J2]h一、WEP:无线网络安全最初的保护者[-M)WJW3`Bb

相对于有线网络来说,通过无线局域网发送和接收数据更容易被窃听。设计一个完V5t)| Ar7~

善的无线局域网系统,加密和认证是需要考虑的两个必不可少的安全因素。无线局域网中应:c!l\\$]SK

用加密和认证技术的最根本目的就是使无线业务能够达到与有线业务同样的安全等级。针对,M'r J0d-cq~

这个目标,IEEE802.11标准中采用了WEP(Wired Equivalent Privacy:有线对等保密)协议来vn*gZ|"D?L

设置专门的安全机制,进行业务流的加密和节点的认证。它主要用于无线局域网中链路层信0N["S3Um.wR;W.F

息数据的保密。WEP采用对称加密机理,数据的加密和解密采用相同的密钥和加密算法。8Lg2k5y7e

WEP使用加密密钥(也称为 WEP密钥)加密 802.11网络上交换的每个数据包的数据部u.lmg Ed I

分。启用加密后,两个 802.11设备要进行通信,必须具有相同的加密密钥,并且均配置为.R6V8cQvZ)y%zz

使用加密。如果配置一个设备使用加密而另一个设备没有,则即使两个设备具有相同的加密

e0~)R?0h?2Y!V密钥也无法通信。(如图一所示)

+DU?8JzL!Rv图一:WEP加密

fE@ oc]|*~+Z WEP加密过程X!kqn0r

WEP支持 64位和128位加密,对于 64位加密,加密密钥为 10个十六进制字qCoq?B

符(0-9和 A-F)或 5个 ASCII字符;对于 128位加密,加密密钥为 26个十六进制字符或

R)w `X `F 13个 ASCII字符。64位加密有时称为 40位加密;128位加密有时称为 104位加密。152

6rO4Ge3G第 2页共 23页$fX@^R(o5m.?|

位加密不是标准 WEP技术,没有受到客户端设备的广泛支持。WEP依赖通信双方共享的 gDmb0@+]

密钥来保护所传的加密数据帧。其数据的加密过程如下。WG"BPM,Z8z

1、计算校验和(Check Summing)。%O p$_NN5W1?

(1)对输入数据进行完整性校验和计算。K*G7~8Ku9M#f

(2)把输入数据和计算得到的校验和组合起来得到新的加密数据,也称之为明文,明~~3O_(rb t0x3k f

文作为下一步加密过程的输入。j `y"bm

2、加密。在这个过程中,将第一步得到的数据明文采用算法加密。对明文的加密有Uc0a(V7C)i@

两层含义:明文数据的加密,保护未经认证的数据。6P.VC.^h?w#Y

(1)将24位的初始化向量和40位的密钥连接进行校验和计算,得到64位的数据。z,u#HU-DqG"s

(2)将这个64位的数据输入到虚拟随机数产生器中,它对初始化向量和密钥的校验

$vC)K~Jz/D O'N+g和计算值进行加密计算。+Yz%_lG2V)J

(3)经过校验和计算的明文与虚拟随机数产生器的输出密钥流进行按位异或运算得3r Z)B3o'?I!rJ!e

到加密后的信息,即密文。

.?{1o:t)c@^ 3、传输。将初始化向量和密文串接起来,得到要传输的加密数据帧,在无线链路上

5VIT/Rrtr `#{ H"l传输。(如图二所示)/a%_Ly~9A

图二:WEP加密过程 BL9W^gJ'Bm

WEP解密过程

:g"vra%EZ;lx q在安全机制中,加密数据帧的解密过程只是加密过程的简单取反。解密过程如下。i${ e z(w&Z7h'^

第 3页共 23页

$Q!F.H-}Dm:p~ 1、恢复初始明文。重新产生密钥流,将其与接收到的密文信息进行异或8C/~#o!Hc[ RD

运算,以恢复初始明文信息。$u_k `gG;t9R+V

2、检验校验和。接收方根据恢复的明文信息来检验校验和,将恢复的明文信息分离,n[J1W)\B1a

重新计算校验和并检查它是否与接收到的校验和相匹配。这样可以保证只有正确校验和的数

5q;` f*B3J8J据帧才会被接收方接受。9B:i5_KhSm

图三:WEP解密过程d(}6S0Jn

二、破解WEP密钥前的准备工作

+mUe&q2b6C在以下的两部分内容内,笔者将逐步地向大家介绍关于怎样来破解WEP的密钥的2?o-juw1k

方法。这种方法并不需要什么特别的硬件设备,仅仅只需两台(只有一台也可)带有无线网卡

3vAG_c4C}H的笔记本而已,整个攻击过程所使用的也只是一些共享和自由软件,并不需什么相当专业的 fo1c,U2C2w"Z/]+fH J

工具。看懂这篇文章和学会操作的读者,并不需要你是一名网络专家,不过要基本上熟悉一,I&]"q])n7W[+? t V

些网络术语和基本的原理。最少,你应该知道怎样去ping另外一台机器以测试网络是否畅N)~.qE;kUM

通,并会打开一个Windows的命令提示符窗口,知道输入相关命令和了解关于Windows网

)t"u&|HH7jZh络属性窗口的相关内容。这就是基本的要求,要不然怎么可称之为菜鸟都可学会的方法呢。,f](Wt9i:Ai}'[

1、组建实验环境

K C:]eG cDq开始之前,我们的第一步就是要组建一个实验环境,你不可能拿别人的网络来玩你E3b:B&E;b

的破解吧,这样做既违反了法律也是一种不道德的行为噢。搭建一个实验环境下的无线网络nWQK6W'P5w

平台,则无线AP是少不了的,另外,三台带有无线网卡的笔记本(使用有无线网卡的台式机/Y d$[)j#@U

也可以)组成的简单网络就可满足要求了。组成的网络拓扑如下图四所示。

E6| gN5M6z第 4页共 23页O SDB"d1M6q4}s,s

图四:组建一个实验环境s)h@:i"o N9Ar;[

在图四所示的网络中,无线AP的选用,我们使用的是一个Netgear的产品,型号1IC h yG'r-E,g

为WGT624v2,它在以后充当被攻击目标的角色,在以后就称它为目标AP。在所使用的三

A.Qi\ g Q.LK*wu台机器中,一台是作为被攻击目标的客户端机器,暂且称之为“Target”;另外两台笔记本一台

%S2D{3H;J(J i执行主动攻击,促使网络流量的产生,以便足够多的数据包有比较短的时间内能够被捕捉到,

O"Q@Z%b称这台机器为“Attack”;剩下的那台笔记本就是用来嗅探并捕捉那些主动攻击产生的数据包&N@q9m Z-g

了,则把它称为“Sniff”。当然,尽管整个的破解过程可以在一台笔记本上完成,但笔者并不

g P.\.^#I oV(qY@推荐这种做法,用仅仅一台笔记本,会使以后的工作变得很麻烦,并且发现使用这种方法的

[:Yg-Fs j话窃听程序可能会发生一点小问题。在一个使用率不高的WLAN中,使用主动攻击比被动探

|.A3eg?uC测的机会更大,它可在较短的时间内使WLAN产生更多的数据包从而加快破解WEP的速度。

[o%a;|me在这个实验环境中一定非得要使用笔记本不可,我们当然也能够使用桌面PC或桌!l7Z[j D8p

面PC与笔记本混用,不过使用笔记本的话它的便携性更好,而且对现在的无线PC Card卡?#@A(P L

有更好的兼容性。

w n&Ou\}&S6h@ Target所使用的无线网卡与芯片无关,只要是基于802.11b,任意厂家的产品都可5rmU)a*?C3t z P

满足要求。而Attack与Sniff两台机器是使用的两块基于PRISM芯片的802.11b的无线网x.L:W!?8_)O

卡。尽管我们在以后的操作中中使用的很多工具(如Kismet)都可支持相当多种类的无线网卡,

*[`4ahc&M但笔者还是建议使用基于PRISM 2芯片的网卡,因为这种芯片能够被我们在破解过程所要

8使用到的所有工具都支持。 D(g.f$bC\]

无线网卡一般有外置天线与内置天线两种,如果所购买的无线网卡并没有内置天线

w qAw!V!W)Vh#E的话,还必须自己再另购天线。不过外置天线的优点就是增益更高,灵敏度更好,可以调节

!j$z,LND9o6_x

调节。笔者看到有一种移动式外置天线,使用起来是很方便的,在这种移动式天线的底部有j;g9K'S}0z1R

几个橡胶材料的小吸杯,可以把它方便地吸附在笔记本的顶盖上,如果是在车内使用的话,K/j4o+p q;a4U(k%X

还可把它牢牢地吸在车空窗玻璃上呢。如下图五所示。R%@6d9jHA(Wp$d(lh

第 5页共 23页

#Sk#O"N8C图四:移动式天线 ],VY/tS$E#v W

2、实验WLAN的设置

m1A]+Lz nb)_适当地对这个实验环境进行一下设置是很重要的,因为我们毕竟只想要在这个用来

9c1U3E6q?,T1@ P4W{2Y实验的环境中来完成所有的操作,在下文中描述的攻击过程中,将会强制终止一1e:qi2qk8q

w,~ G3Kl5t与AP有连接的客户端。这种攻击可能会对在这个邻近区域内的无线用户造成严重损害,

f|LE"gj&ln*x为了避免邻近的AP上的用户受到附带的攻击,是要保护那些并不属于实验WLAN的用户。}C)p'}'B-Cs0@

如果这个操作环境中位于一个复杂的办公室、办公大楼或其他有许多无线网络覆盖的区域中

9bIz-y OD的话,要尝试一下这样的破解操作,请最好等到晚上没什么人工作,网络不再繁忙时进行, wj(V a:k

免得“城门失火,殃及池鱼”。'{c E'@N@

第一步就是连接和设置这个被攻击的实验无线局域网,如前面所述,这个WLAN包7hkNG&l"T&e1N

含有一个Access Point(无线路由器)和仅仅一个无线客户端,且这个无线局域网被我们想要

+@?3Z}9I z,e'wEy破解的WEP密钥保护起来了。把目标AP的SSID(System Set ID)设置为“starbucks”,SSIDd?O0[?)pjA}q

用来区分不同的网络,也称为网络名称。无线工作站必须出示正确的SSID,与无线访问点

h)lC4Ov^第 6页共 23页5[7A_~A+DB

AP的SSID相同,才能访问AP;如果出示的SSID与AP的SSID不同,那么AP将拒绝他bk&x~3pA De

通过本服务区上网。可以认为SSID是一个简单的口令,从而提供口令机制,实现一定的安

q;P#E L'b4Np全性。并在这个WAP上配置一个64位的WEP密钥来进行保护。

~4T$?_U0{P)[把如下的信息记录下来以便以后使用

#];huJFy dr7sNB①AP的MAC地址。它通常会在AP的WEB配置菜单上显示出来, AP的底部或.pO5F7B/HB,Y_

侧面的标签上也可能记有本机的MAC地址。

(q L$t~w3l②AP的SSID。(bI(Z9Fs&[8i-M

③AP的无线频道(Channel)。9Q/s+G#t5f%\&g"}!v

④WEP密钥。如果无线AP显示的密钥像0xFFFFFFFFFF这样的格式(把设定的值

q-} J5C+hm6M+A替代F的值),把除0x外的每个字母都记下来。

P VSJ,X9nJwE第二步就是把Target客户端连接到目标AP上。我们现在需要把这个客户端连接到

Rof2wiU7S目标AP以进行进一步的配置,(以下都是在Windows XP下进行的),右键单击桌面上的“网

8RL4s-V?)r}上邻居”图标,或者通过“开始”菜单,然后单击“属性”,双击“Wireless Network Connection”,

'B7^ C'm7FW然后打开如图五所示的窗口,其中显示的是有多个可用的无线网络,但如果只有一个无线网^{~;u i|S

络的话,则在该窗口中可能只仅仅显示刚刚配置的那个名为“starbucks”的AP,双击相应的

Z V7m(Kb.j SSID名称以连接到目标AP。

2t2Of3ML}"pS3\k图五:连接到目标WLAN

%n"gA1yEH5U/\;h0`8zPk因为AP已开启了WEP保护,连接时Windows会要求输入一个密码(如图六所示),

oI)^'v ZF把刚才设置的的WEP密钥输入(当然从记事本或写字板文档中粘贴过来也可),稍等一会儿后C~)}AO5KB[

Windows就会报告已连接到网络上。确认一下是否已真正地连接成功,去ping一个在有线

*N W6l2X rE6x网络计算机来测试一下;或者假如这个实验WLAN已接连到因特网上,随便打开一个WEB站

*Sb%j5q'J3B6f7]fn点看是否能够连接来加以确认。如果不能成功地ping通已知地址的机器或者打不开正常的

AbP3aU$o!H.I WEB站点,则打开无线网卡的属性,单击“支持”按钮,检查一下无线网上是否已获取了一个nL&gc0T

正确的IP地址,如果没有能够获取正确的IP地址,看看网络中的DHCP服务器是否已启用,6m X@J[#Dy[

第 7页共 23页I^.^+AC/a

并检查无线网卡的TCP/IP属性是否设置成“自动获取IP地址”了,如果一切都正常,在这个s8u5j%b`8Q4`]9K

无线连接中点击“修复”按钮来加以改正。

3[8~ Jyo.o图六:输入WEP密钥

gAA3bC$~ B z第三步就是记录下Target机器的MAC地址。一旦成功连接到网络上,就把被攻击 M3WS2Paa/}

的Target计算机的MAC地址记录下来。方法有两种,一是打开一个命令提示符窗口并输入,}Y Szui8F

ipconfig/all命令也可看到这个MAC地址,这个窗口的内容如下图七所示(无线网卡的MACIn(A\ uh/jZp"m"Or

地址信息已高亮度显示)。

W#T h$|y\8m^o图七:输入ipconfig/all命令来发现MAC地址

-T"VMuu$C二是在Windows XP中,可从“无线连接状态”窗口来得到这个MAC地址,单击“支K)g lr'z)R)A*~l

持”按钮,然后单击“详细信息”,这个MAC地址就显示在窗口顶端的右边(如图八所示),当然,[.X#z6z8]0w2r3y-B

不同的机器显示的名称可能不尽相同,另外的计算机显示的就可能如“物理地址”这一类的描

FFlH&I述信息了。在这个窗口的信息,组成MAC地址的字母和数字被短划线分隔,短划线的目的:S{$k+tV6a

只是使这些字符看得更清楚,但实际的MAC地址是没有这些短划线的。

7zSB6W,{(Y(xxE#L:n第 8页共 23页&_TR+VEW? kfi

图八:在网络连接详细信息中显示的MAC地址|jVsAb8G

3、笔记本的设置

dq4iF#X5A a'e首先,我们来准备破解WEP密钥所需要的几个工具软件(Kismet、Airodump、

E/T.y3[/t fH)X Void11、Aireplay和Aircrack),Kism

4h*L/y m4by et:用来扫描整个区域内的WLAN,找到实验用的目标WLAN,收集相关数据,t`[Le!^2z

(SSID值、频道、AP及与之相连接的客户端的MAC地址等);Airodump:对目标WLAN进行y+V$~ b([8?7US

扫描并捕获其产生的数据包到一个文件中;Void11:从目标AP中验证某台计算机,并强制这

?s5vz2V#c个客户端重新连接到到目标AP,以使其一个ARP请求;Aireplay:接受这些ARP请求并回送

,r)@/eXNB&~ b到目标AP,以一个合法的客户端身份来截获这个ARP请求; Aircrack:接受Airodump生成的

-b3a7N^+_'Y%K]捕获文件并从中提取WEP密钥。

c[jnR它们都是公开源代码的共享或自由软件,这些所有的工具都可以在一个被称为 K/dj"f&Bo{l,Y

“Auditor Security Collection LIVE CD”的共享光盘上找到,这个光盘是一张可引导系统的光J8Oey+{F5DN7w

盘,可以引导一个经过改进过的Kanotix Linux,这个Linux版本无需存取硬盘,在通过光盘n L/sCm1{ t

启动时直接安装到内存中就,它启动后可自动检测和配置多种无线网卡。在本文使用的

A)n-ez'w Auditor Security Collection LIVE CD是最新版本,版本号为auditor-150405-04,下载地址

6gA5a(VHtgRu!M)lO为[url=][/url],下载的文件格式是CD映像文

f4]G8?O件或.ISO文件,通过NERO(或其他的刻录软件)把它刻录下来,给Attack和Sniff机器各一

'QUqI R张。

1r*kuuO!n3CNe第 9页共 23页

1P8x]'Lzg;x首先把无线网卡插入到笔记本中(如果机器内置有无线网卡就最好不过了),再把笔记 QAc4sI u_#y

本设置成从光盘引导,并把Auditor Security Collection CD放入光驱中。从Auditor引导菜,X d Ph Oqf

单中选择合适的屏幕分辨率后,Kanotix Linux会被安装到内存中运行并出现Auditor开始屏

(S8M:OZ)`k%`0W幕(如图九所示)。-R"kU!NP$C6l

图九:Auditor的开始屏幕j*ohUd4O*z'O}E

在这个Auditor系统中,两个最重要的图标是位于屏幕左下方的Programs和

N-FU1n"LDJ C9c Command Line图标,我们以后的许多操作基本上都是要通过它们来完成的。如图十所示。

Q:_;} k-F_4z W3{$@图十:Program和Command Line的位置

(t}k#c;q在这里,开始做其他任何其他的事情之前,先要确认我们机器上的无线网卡能够通)s1X!a h.jhMi_9B

过Auditor的验证。单击Command Line图标以打开一个命令行窗口,然后输入iwconfig命6X6j;yn/g@

令,在Auditor显示出的信息中,你会看到有关于“Wlan0”的信息,它是Auditor为基于PRISM

P:\#M6Z-|-J芯片的卡确定的一个名称,如果用来操作攻击的笔记本的屏幕显示如图十一所示的窗口,则"YRpCeC2PZ ^

表明Auditor已检测到了无线网卡,现在就可以开始下一步工作了。对于另外一台笔记本,

?t!y(Fy1t也进行同样的步骤,重复这一操作。

f` C3]@.a第 10页共 23页@.H3wE pU

图十一:用iwconfig命令检验无线网卡

#m `F]*I4e4W4g%D/a,A好,准备工作现在基本完成,在本文的下篇里,我们将开始实际的解决过程。

b&wP-NbK R三、实战破解过程 pO'| j5S,|

1、用Kismet进行网络探测8iT-vdWv,a1A

Kismet是一个基于Linux的无线网络扫描程序,这是一个相当方便的工具,通过测;Qfz!\ZX

量周围的无线信号来找到目标WLev,\)s`

AN。虽说Kismet也可以捕获网络上的数据通信,但在还有其他更好的工具

TN"G8ro7\l*A使用(如Airodump),在这里我们只使用它来确认无线网卡是否正常工作和用来扫描无线网

bj:kz}kT络,在下面的部分中将会换用不同的工具软件来真正地侦听和捕获网络上的数据通信。

l Tft O|2x单击Programs图标,然后是Auditor,再 Wireless,,然后Scanner/Analyzer,

3Pi1r)}w最后是 Kismet,来运行Kismet程序。如图十二所示。

-T*eK.w c q.vn第 11页共 23页

H'Fx4N[5U qH w;i图十二:运行Kismet

P(j9t%p-B9em除扫描无线网络之外,Kismet还可以捕获网络中的数据包到一个文件中以方便以后X q6]Fd.UQ

加以分析使用,因此Kismet会询问用来存放捕获数据包的文件的位置,如我想把这些文件e,o{,J,^$D v

保存到rootdesktop下,则单击“Desktop”,然后选择“OK”即可,如图十三所示。然后Kismet

0U"c%hJkC9w5De然后会询问捕获文件的前缀名字,我们可以更改这个默认的名字,例如把它更改为“capture”w$hw3`%V8PWs{@(~

然后点击OK,这样Kismet就会以capture为文件名的开头,再在其后依次添加序号来保存R)n;}I`R-j

捕捉下来的数据包到不同的文件中。Yg B-D'U8H/EW-kw

图十三:在Kismet中指定文件的存放位置

^+Z2I%Y O第 12页共 23页

a sV5xdp5bG当Kismet开始运行时,它将会显示这个区域内它找到的所有的无线局域网,“Name”

!oj'fZn那一列中所显示出来的内容就是哪一个WLAN中AP的SSID值,那当然开始设定的目标2mP0T}6w

WLAN也应该包含中其中(Name下值为starbucks的那一行),在这一行中,CH列的值(AP;`:J+q*o-^Gz4H/N

所使用的频道)应该与开始所记下的相同。在窗口的最右边显示的信息是Kismet发现的

+`RL YB+l5L!~;mH WLAN的数目,已被捕捉下来了的数据包、已加密了的数据包的数目等等。如下图十四所示。9P'Ahy,U

如果Kismet发现了许多相邻的Access Point,你应把这个实验环境搬得离这些AP更远一些,

v&Qepx,C@DC或者把与你网上相连接的任何高增益天线断开。

!I'P.S qS1kgg$f甚至当目标计算机已关闭时,Kismet也正可从我们的目标AP中检测到数据包,这是因

u.e'T;U-WO+?为目标AP在不停地发出“beacons”,它将告之拥有无线网卡的计算机有一个AP在此范围内,"ho"L7VDk D~8qN

我们可以这样想3g,}!{'s T4oql

像,这台AP宣布,“我的名字是XXXXX,请大家与我连接。”

rM5L/`w9W Rb图十四:Kismet显示的内容 w coO)g

默认的Kismet是运行在“autofit”模式下的,它显示的内容杂乱无章的,我们可以通

l DB#CW过排序把AP按任何有意义有顺序来重新排列,按下“s”键到“Sort”菜单,在这儿可以按下某个

tg/d$h.v~"}字母来对搜寻到的AP进行排序,如“f”键是按AP名字的第一个字母来排序,而“c”键是按AP

7?#J&Uyyc使用的频道来进行排序,“l”是按时间来进行排序等等。 f UvUO

现在我们来查看一下目标WLAN中AP的详细信息,按下“s”键,然后再按下“c”键,

FgA?b4H9R|$J把整个AP的列表用频道的方式来排列,使用光标键移动高亮条到表示目标AP的SSID上,l4}7YGB6M/Q

嘟嘟广州社区为你解答

%o输出是什么意思

在计算机编程中,%o是一个格式化输出符号,用于将一个整数以八进制形式输出。即将给定的十进制数转换为它所对应的八进制数字。这种输出方法被广泛应用于Unix/Linux系统中。

使用%o输出十进制数时,需要在输出字符串中使用对应的占位符,指示要输出的数据类型和格式。例如,使用printf函数时,可以在输出字符串中编写“%o”这样的占位符,表示输出的是八进制数。

对于程序员来说,%o输出十进制数的八进制形式是非常常用的操作。它可以用于调试程序,也可以用于展示数据和信息。无论是在开发软件还是调试代码时,%o都是一种非常有用的输出方法。

总之,%o输出是一种格式化输出方法,在计算机编程领域中非常常见。它可以将十进制数转换为八进制数并输出,在调试程序、展示数据和信息等方面都有广泛应用。

Linux下设置可使用netpas网络加速器的方法与步骤介绍

对于在教育网内的同学来说,最大的痛苦就是教育网不能出国和访问公网速度慢了(有钱买流量的不用看本文),所以通常有些需求的就必须购买像教育网直通车之类的加速服务,当然还有另一种选择那就是花钱买专门的VPN。但这里都有一个问题,那就是所有的网络加速服务都只有windows下的客户端,在 linux就都没有官方的使用方法了。对有些加速服务,有人想出了一些非官方的办法,比如在知道服务器地址的前提下,教育网直通车可以用PPPoE来连。据说,BrigeWan也可以用类似的方法,但上次在一个论坛里看到因为官网对协议作了点小修改,结果就是必须修改原来写好的连接脚本,而这又要听包,调试等。另外,有人还想用netpas吧,这个是我看到的最便宜的,费用标准也最灵活,除了p2p限制的厉害(会被卡在20KB/S下,而且几乎不浏览网页)外,一般速度还是不错的。现在我用的就是这个。但是因为netpas用的协议比较特殊,PPPoE的方法就不能用了,网上也没有查到有用的资料,唯一搭得上边的也就是linuxdic上的这篇文章了(估计不是原出处),但那是2007年的了,老得几乎没有参考价值。可见,在linux下使用加速器,要么缺乏官方支持不稳定,要么是没有比较新的指导。所以写这篇文章很重要。

好了,废话不说了,下面介绍方法,可能有点长,但内容很丰富;)

2准备工作

2.1好点的机器配置。

既然是用虚拟机跑代理,当然机子内存要大,这点最重要。512M估计是会卡的,1G应该就行,2G以上就很理想了,再小的话可能就要采用些非常手段了,下面也会稍微提到下。

2.2安装VirtualBox

至少3.0以上吧,最好是3.1以上的。VirtualBox这几年开发进度很快,很多特性都加了进去,合理运用能有效减少工作量。Ubuntu下是有的,其它的Linux发行版的源里一般也都有,而且既然你都用Linux了,那么就至少现在能装软件,不知道的话,搜下吧。我用的是Arch64(Archlinux 64位)。

2.3安装winxp虚拟机。

VirtualBox怎么用就不说了,VirtualBox本身的文档很详细,网上这方面的介绍也很多。这里提下,windows可以用98的,如果你机器内存小的话,但可能会遇到一些小问题。最好是winxp了,最好不要用一些网上流传的镜像和 Deepin啥的,这些都是修改版,难保后面配置时没问题。重新安装个新的,winxp professional的,不会用太多时间。最后记得安装VirtualBox Addition,这个副加包可以提高虚拟机的运行效率,另外还提供不少好用的额外功能。

2.4虚拟机windows中,下载,安装nat32e。

NAT32是一个我目前看到的最先进的NAT类软件(一般也叫共享网络连接),我也试过许多其它的,但是要么是没办法满足要求,要么就是不稳定少功能。这个软件是免安装的,但是要安装一个驱动,这个可以手动作。图省事的,就直接点setup就好了。软件是共享的,功能不设限,程序每次只能连续运行 2小时,但可以无限制地重新运行,所以这不是个问题,后面有个简单的脚本,能让这个软件几乎总是在运行(无需人为干预)。

2.5可选:虚拟机windows中,下载3proxy

3proxy是一个非常非常小的proxy软件,功能很全也很强大,windows和linux下都可以使用。配置的时候是直接修改配置文件的,典型的unix风格。有人喜欢用ccproxy的话,就自己到网上搜下如何使用吧。 3proxydownloadsection中有各个版本(包括windows64位的)下载。

3配置与使用 3.1设置虚拟机

你这时候应该已经安装好了netpas,并且在linux主机联网的情况下,netpas能联上,然后在虚拟机中能正常上外网。

3.1.1设置网卡

主要是安装完windows后,设置虚拟机的网卡。默认是只有一个NAT网卡,地址是10.0.*.*(*表示任意,当然具体只能是确定的)。这个是VirtualBox自己配置的,后面也要用,但无需额外配置。在网卡配置里启动第二个网卡,选择Host-only(中文应该是主机网络吧?),底下有个连接网线的选项,选中。你还可以把虚拟机中别的不用的设备选项都关掉。图形里的2D图形加速可以选上。启动虚拟机,这时候可以看到,有两个网络连接,找到那个 192.168.56.101(大致类似这个的),记下它现在的IP信息,然后修改IP属性,把DHCP改为?态地址,并把刚才记下的都填上,没多填。这步之所以重要是因为,这个网络连接,过会儿会作为linux主机的网关,所以我不希望它的地址有任何变化,这点尤为重要如果你像我一样经常用到两个虚拟机同时运行的话,这时候DHCP分配的地址会根据虚拟机启动顺序不同而不同。

注:不少学校的网络比较无聊,linux下没有对应的联网客户端,好像有个叫锐捷的网络登录系统就是这样。这时候,推荐你到网上搜一下,有人作过一个linux下的锐捷认证软件,如果还是不行,那么这里你可以用虚拟机联网,不过虚拟机要用一个网桥连接的网卡。这方面网上也有不少资料,这里就不多说了。

3.2虚拟机windows下

3.2.1获取netpas的路由表

必须先启动netpas。开始菜单-运行-输入“cmd”-命令行窗口-输入“route PRINT”这时候可以看到,屏幕上输出在netpas启动后的路由表。把这个输出复制到文本文件中,编辑删除所有目标地址为保留地址(0.*.*.*, 192.*.*.*, 10.*.*.*等)的行,删除那些注释用行,最后文件中每一行都是路由表中的一项,保存并传到linux主机中(用网络传,或是用共享文件夹,这个推荐吧,方便)。

3.2.2配置nat32e

注:因为后面用到了NAT的功能,据说在windows 2003 server版中有相应的工具进行设置,比较方便可靠。但一来是虚拟机里跑,资源比较紧;二来也懒得再去整另一个系统了,有知道的欢迎留言。另外,我知道有个netsh的命令可以用来配置NAT,但整了挺长时间,没办法找到netpas虚拟网卡的名称(netsh中需要这个),也不想浪费时间去学windows里这个怪怪的命令(用过你就知道了,留着时间学linux吧:),所以放弃了。知道的也欢迎留言。

如果配置过共享上网的机器,在每一个网络联接属性的高级选项里都有一个共享该连接的选项,这其实就是初等的NAT了。但因为netpas的连接比较特殊,这种简单高效的方法不能用了。这里用nat32e来解决这个问题。

先连接上netpas吧,便于后面配置。安装好net32e后,桌面上会有几个图标,第一次用需要用NAT32CFG这个功能进行配置。配置过程本身很简单,基本上都是下一个(next/continue)。只有一个页面需要介入,就是选择内网和外网时。(人懒,就不截图了,相信用linux的都至少有一定的英文基础吧,不过有需要的可以留言,我再作个截图重新说下,这里简单讲)页面上,方框里有一些网卡供选择,一般有三个,每选中一个其下有IP地址,名称等说明。选择框右而有几个单选按钮,Private(内网),Internet(外网)。选上名称为Unknown Name Netpas Adapter的网卡,然后选上Internet按钮,这时候网卡前标记为I,然后选另一个网卡,地址是192的那个,再选上Private按钮。那个网卡前出现个P。好了,下一步直到完成。

配置完成后,以后每次运行时只要点桌面上的NET32RUN就可以了。现在你还不可以通过NAT上网,需要在linux下作一些配置。

3.2.3可选,配置3proxy

注:这个是可选的,就是对那些更喜欢用代理的人来说,或是那些想省事的人,设置代理可要简单得多,而NAT还有不少配置要做,但坚持到最后的人是会有回报的:)

3proxy的功能是非常强大的,有兴趣的或需求可以花时间读一下文档,这里给一个比较通用的配置文件。================================================================================3proxy.cfg Starts==============================

#!/usr/local/bin/3proxy

# Yes, 3proxy.cfg can be executable, in this case you should place

# something like

#config/usr/local/3proxy/3proxy.cfg

# to show which configuration 3proxy should re-read on realod.

system"echo 3proxy is running...!"

# you may use system to execute some external command if proxy starts

# We can configure nservers to avoid unsafe gethostbyname() usage

####! maybe useful, but dont understand

#nserver 10.1.2.1

#nserver 10.2.2.2

# nscache is good to save speed, traffic and bandwidth

nscache 65536

# in log file we want to have underscores instead of spaces

logformat"-+_L%t.%. %N.%p%E%U%C:%c%R:%r%O%I%h%T"

rotate 30

# We will keep last 30 log files

internal 192.168.56.101

# internal is address of interface proxy will listen for incoming requests

# 127.0.0.1 means only localhost will be able to use this proxy. This is

# address you should specify for clients as proxy IP.

# You MAY use 0.0.0.0 but you shouldn't, because it's a chance for you to

# have open proxy in your network in this case.

auth none

# no authentication is requires

####! maybe useful in some occassions

# dnspr

# dnsproxy listens on UDP/53 to answer client's DNS requests. It requires

# nserver/nscache configuration.

#external$./external.ip

#internal$./internal.ip

# this is just an alternative form fo giving external and internal address

# allows you to read this addresses from files

auth none

# We want to protect internal interface

deny** 127.0.0.1,192.168.56.101

# and llow HTTP and HTTPS traffic.

allow*** 80-88,8080-8088 HTTP

allow*** 443,8443 HTTPS

proxy-n-p8090

auth none

flush

socks-p9080

===============3proxy.cfg End================================================================================================

这是根据3proxy给的样例加以改造的,把它复制到文件中,并保存为 3proxy.cfg,然后放入3proxy的bin目录下,双击3proxy.exe运行就可以了。这个配置使3proxy开启了两个代理,一个是http代理,在8090端口;一个是 socks5代理,在9080端口。接下来你只要在需要设置代理的程序中设置如下即可: Http: 192.168.56.101:8090 socks5: 192.168.56.101:9080这就是配置3proxy的全部过程,现在你应该可以在firefox里上国外网了推荐使用foxproxy等firefox插件,这些使设置代理变得非常方便。

补充:NAT与proxy的区别

网上介绍的大部分是用代理来共享的,这是因为代理简单,适用范围广。但是,如果能够用NAT的话,最好还是用NAT。原因很简单,要求使用代理的程序必须得支持代理,而且代理一般只支持特定协议如常见的http代理。当然现在有很多socks代理,实际上可以支持任何协议,但首先程序必须能够支持socks代理。这一点其实通常没有满足,这也是为什么像wincaps这样的程序非常的流行,它们可以使原来不支socks代理的程序使用socks代理,但问题依然存在:对每一个你需要用代理的程序,你要单独进行设置,另外可能也有性能上的降低(这个不是很清楚)。另外,似乎linux下没有特别好用这类软件(知道的,欢迎留言),tsocks的开发都停止很多年了。

而NAT虽然并非在所有场合都能用,但一旦使用,你获得的就是从网络底层到高层统一一致的服务,从ping到http,无需再做设置就可直接使用所有网络资源,而且结合使用路由表,灵活性不比proxy差。而在性能上一般也较好。对于在linux中,你可能有IM,需要联网的桌面应用如桌面天气,桌面 RSS等,新闻下载客户端Miro,或是开源的联网小游戏teeworlds等。这些中许多没有内置代理支持,而其使用的协议也各式各样。但在NAT下都能直接使用。

3.3 linux下配置路由表

这部分应该说是最难的,而且因为大家上网的方式不一致,所以路由表的内容和配置也不同,可能配置上会有些差异(??)

3.3.1导入从windows下获得的netpas路由表(依前修改后)

这个路由表的特点是,所有表中的目标地址的访问netpas都设为不通过 netpas加速,这其中包括所处教育网,netpas的服务器地址等等netpas认为不应或不需通过其加速的地址段。把这些都导入到linux下的路由表,其中网关一项全部改为你直接在linux上网时用的默认网关,具体步骤如下:

打开一个终端,以root身份执行命令(su,然后输入root的密码)。命令“route-n”,会输出目前系统的路由表,记住开头为default的一项后的 IP地址,此即当前的默认网关。

用命令“route add-net 1 netmask 2 gw 3”或“route add-host 4 gw 5”导入新的路由表项。其中1为目标网段,4为目标地址,即netpas路由表中的第一列,结尾为0的是目标网段,其它为目标地址。而2为网址掩码,也就是 netpas路由表的第二列。4,5都是上一步得到的当前默认网关。不要一个一个输入这些命令执行,先把这些命令写入一个shell脚本,然后再一起执行。脚本应该是类似这样的:

================

#/bin/sh echo"NEED root authentication"

echo"The following is from Netpas in w32…"

route add-net 58.154.0.0 netmask 255.254.0.0 gw-.-.-.-

route add-net 58.192.0.0 netmask 255.240.0.0 gw-.-.-.-

route add-net 59.64.0.0 netmask 255.240.0.0 gw-.-.-.-

route add-net 121.48.0.0 netmask 255.254.0.0 gw-.-.-.-

route add-net 121.192.0.0 netmask 255.252.0.0 gw-.-.-.-

================================================================

即一条命令接着一条,网关gw,“-.-.-.-”要填上你的网关。至少如何执行,具体自己去搜吧,命令是“chmod u+x脚本文件名”,“./脚本文件名”。

3.3.2进一步设置路由表

完成上面的导入,现在就是切换路由路线的时候了。正如前面所说,netpas路由表的表项都是不通过netpas加速的,所以上面都设置为直接通过你现在的网卡连接。而对于其它的地址,我们需要设置其通过netpas。三步:

执行,“route add default gw 192.168.56.101",即增加一个默认网关,这个网关就是虚拟机。这一步必须在虚拟机启动后执行才有效,否则。

执行,“add-net 10.0.0.0 netmask 255.0.0.0 dev eth0”,即让所有通过netpas加速的包都直接发送到外网端口。这里eth0应换成是你在 linux下用来上网的网卡名称。这一步很重要,否则需要加速的包就出不去了。这一步可以在任何时候执行

执行,“route del default gw-.-.-.-”。即从路由表中删除你当前的默网关。这样,需要加速的包就必须从虚拟机这个网关通过。

好了,如果虚拟机里netpas和nat32都连上打开了,你现在应该可以上外网了,无需在相应程序中设置:)

4更好的代理

4.1打破2小时的限制

前面说到nat32有连续2小时的限制,然后必须重启nat32.大家都不喜欢限制,要么为什么要用Linux呢?:)那么我们去找破解吧!我去找过,网上的破解大多不能用了,就算能用(没找到,实际上,搜索结果挺多的)吧,也很老了,nat32这个软件1.8版本在 2005年就推出了,现在还是1.8版但却是在今年二三月份推出的,我对比了下,差别很大,同是1.8界面功能都不太一样。所以,没有现成的破解。那么我们去写一个破解吧!好吧,我承认,我太菜,这个任务我不能完成,就留给聪明的读者和强大的黑客吧。不过,俺觉得有这个时间,不如写更好的linux程序,这才是长久之道。看多了“破解-补丁-破解-补丁-破解……”的恶性循环。当然有第三种选择,就是写个脚本来自动重新启动nat32,如下:================================================================================ repeat_start.bat START===================

@echo off

echo Simple script to keep a program running all the time

set program_path=C:/NAT32/nat32.exe 2

set program_name=NAT32

set count=0

set wait_seconds=30

:LOOP

set/A count=%count%+1

echo"start%program_name% for%count% time(s)"

rem- wait it terminates

start/wait%program_path%

echo"ooooops, it stops..."

echo"wait for about%wait_seconds% seconds, then restart..."

rem- wait for several seconds

@ping 127.0.0.1-n%wait_seconds%-w 1000 nul

@ping 127.0.0.1-n%1%-w 1000 nul

echo...

echo================================================================

rem- to restart an infinite loop

rem- of course, you can use a for loop to make it run limited times

goto LOOP

================ repeat_start.bat END======================================================================================

其中,set program_path=C:/NAT32/nat32.exe 2这一行,=后面的参数可以通过看“NAT32RUN”这个桌面快捷方式找到,复制粘贴就行,一般若安装的 NAT32就是这个参数。这里这个脚本,其实可以用来维持任意会中断的程序的运行,原理很简单,就是启动程序后,等待其终止,一旦中止就再启动。一般,为了避免一些因为程序刚关闭时的一些问题,最好等一会儿再启动。对nat32而言,因为它用到了驱动,所以感觉最好等久些,我设成了30秒。至于其中等待用ping来实现,则是从网上复制来(人懒,没花时间去研究)的高人前辈的“暗黑系魔法”。2003 server里有个sleep的程序,而xp pro里没有。。。以后,每次就不再运行NAT32RUN,而是直接用这个脚本。

4.2更好的路由

其实,netpas路由表是很有限的。现在教育网访问公网,对有的地址其实是很快的,像baidu,youku之类的,应该是相应的网站针对教育网进行了优化。所以,这些也通过netpas加速的效果反而更差。所以,你可以找到这些地址,然后用“route”来设置为直接访问。这里其实有个不好的地方,就是这里说的设置路由的方法总是要用到root权限。当然,其实路由表是相对稳定了。不知道有没有更好的方法。

4.3不再用了

不用NAT了,要回到正常联网,只需执行下面两个命令:“route del default gw 192.168.56.101".“route add default gw-.-.-.-”。其实就是,上面设置路由表最后两步的逆过程,其它都不用改。

4.4 Some geek stuff:

对于像我一样,觉得命令行,文本更好,并且觉得应该尽量减少windows在 linux中的出现的。介绍两个命令,VBoxManage, VBoxHeadless。 VBoxManage,是VirtualBox的命令行,像“ VBoxManage startvm xpnet”这个命令,可以用来从命令行启动虚拟机,xpnet是虚拟机的名称。这样就不用每次都打开VirtualBox的图形窗口了:)当然,你会觉得这还不够,为什么要一个windows虚拟机的窗口始终在我的桌面上呢,为什么我只是想用它来联网而它始终要一个显示窗口呢?好吧,让它消失吧~ VBoxHeadless,原本的目的是为了在远程服务器上启动虚拟机用的,因为是在远程服务器上,所以服务器上是不应有图形窗口的(没人在那看),所以由它启动的虚拟机是没有窗口的。为了控制由此启动的虚拟机,它支持一个 VRDP的协议,相当于VirtualBox的远程桌面。当然,这里我们不用它这个功能,因为开启这个功能会在主机上启动这项服务,可能会导致有人可以从网上联到你的虚拟机。开启winxp pro的远程桌面,用“VBoxHeadless-startvm=xpnet-vrdp=off”启动虚拟机,用“rdesktop-a 16 192.168.56.101”来连接,如果需要手动调整配置什么的。如果觉得每次输入密码麻烦,用下面这个命令 rdesktop-a 16-p passwd 192.168.56.101-p后面填上密码明文,不用担心,你的虚拟机在内网里,外面联不进来的。

文章有些长,但我觉得方法还是很好的,尤其是NAT的使用,使虚拟机整个构成了一个支持所有协议的透明网关。另外,值得注意的是,这个方法适用于几乎所有的加速器,因为整个设置通过虚拟机实现了对加速器是透明的。所以,希望有所帮助。有指导,有问题的欢迎留言。

阅读剩余
THE END