您的位置首页百科问答

高赏--socks2http 和sockscap工作原理大神们帮帮忙

高赏--socks2http 和sockscap工作原理大神们帮帮忙

SocksCap32 和 Socks2HTTP 这两个软件都是与 Socks 代理有关的软件,如果你是通过 169 网或是本地局域网上网的,有很多地方无法访问,那么,学会如何用好这两个软件就很重要了,它们可以使你连接到平时连不上的地方。而且不但可以浏览网页,也可以收发信件, FTP 软件,用 QQ 聊哗毕或天,Telnet 登录 BBS 等等。理论上似乎是把二者连用,再加个 HTTP 代理,就什么都可以做了,不过,实际做起来可就没有说的这么容易了,为什么呢? 首先,说一下 SocksCap32 这个软件。这是一个基于 Socks 协议的代理客户端软件。它能将指定软件的任何 Winsock 调用转换成 Socks 协议的请求,发送给指定的 Socks 代理服务器。所以用它可以使基于 HTTP、FTP、Telnet 等协议的软件通过 Socks 代理服务器连接到目的地。要使用 SocksCap32 软件,当然首先必须要有一个 Socks 的代理服务器。不管你是用代理猎手找出来的也好,还是从各个代理网站中得到的也好,反正就是要有一个。:)SocksCap32 软件的使用方法很简单,安装软件后,先用“文件”菜单中的“设置”,设置好 Socks 代理服务器,端口是 1080。注意你的 Socks 代理服务器是 Socks4 还是 Socks5 版本的。对于 Socks5,一般使用本地端决定所有名字。如果代理服务器有身份验证,则钩上“用户名/密码”选项,退出设置时会自动打开用户名/密码对话框,填入正确的用户名和密码即可。然后,新建一个应用程序标识项(如图)。当您要使用此应用程序时, 就像平时那样拨号连上 ISP 后(当然使用局域网的就不必了),记得先运行 SocksCap32,再在它的主界面中双击此应用程序图标,就可以达到通过 Socks 代理连出去的目的了(如图)。 但是,如果你所在的局域网的出口服务器不提供 Socks 代理或是你找啊找啊都找不到任何 Socks 代理的话该怎么办?这时候就需要用到 Socks2HTTP 这个软件了。它是一个协议转换软件,它能把基于 Socks 的请求转换为 HTTP 协议的请求,然后通过指定的 HTTP 代理服务器发送出去。好像和 SocksCap32 做的是相反的事情。:)通过它可以在本机模拟出一个 Socks5 端口(不过,这个端口好像不是很规范,至少代理猎手和 OICQ 等等都不认它,但是好在 SocksCap 可以认),然后使的支持 Socks 代理的软件通过这个通道出去。而如果加上我们刚才说的 SocksCap,就可以让一些本身不支持 Socks 代理的软件也可以通过它连接。首先还是老话,你得有一个 HTTP 代理,不管……好,好,废话少说。:)然后要对 Socks2HTTP 软件进行设置,在设置页面里里面填写好你的 HTTP 代理服务器的 IP、端口信息。如果你不想让别人也能用你模拟出的这个 Socks 端口,就钩上“对于其它计算机则封闭之”这个选项。(如图)关于那个“网关”选项,注意到如果你钩上了“不使用 HTTP 代理乱伍”,则数虚软件会自动选择“总是使用网关”, 所以我个人认为这个网关是用来当你没有 HTTP 代理时使用的出口。对于我们有 HTTP 代理的用户来说根本没有什么用。证据是我从来是把它置空的,就像图中那样,也照样用的好好的。:)然后,如果你使用的 HTTP 代理服务器不是匿名的,则填写好用户名和密码。至于定制 Socks 端口,一般还是用 Socks 默认的 1080 好了,毕竟合乎习惯也好记。:)如果你的 HTTP 代理服务器是 MS-Proxy,记得填上域。设置好后,当 Socks2HTTP 运行时,你的机器中 1080 这个端口就可以做为一个 Socks 代理端口来使用了。接着如果你想使用你模拟出来的这个代理来收发邮件,玩 OICQ 等等,当然还必须设置好 SocksCap32(如图),Socks 代理的 IP 是 127.0.0.1(就是本机啦),端口号 1080(如果你在 Socks2HTTP 里没有改过的话)。 Socks 版本是 Socks5。OK,接着就像刚才说的那样建立应用程序标识项。全部都设置好以后,要运行这些应用程序时,建立拨号连接后(使用局域网的就不必了),先运行 Socks2HTTP,再运行 SocksCap32,然后双击标识项运行应用程序。这样你的应用程序就可以通过这两个软件的帮忙连到平时连不上的地方了。:) 话说到这里,也许有人有疑问,这样真的行吗?我认为,对于一个开放 TCP 连接的普通 HTTP 代理服务器,至少能收发信件和 Telnet 远程登录应该是没有问题的。这里我们做一个实验,按照上面的图设置好两个软件,然后通过 SocksCap32 运行 Becky! 来收发信件。想看到 Becky! 是否真的通过了指定的 HTTP 代理服务器(202.97.30.228)来工作了,使用这两个软件本身的日志功能自然一目了然,不过比较麻烦,我们用 netstat 命令来检查看看。在收发信件的同时运行 netstat(如图) ,结果很明显,收发信件时,确实是通过了设定的 HTTP 代理来连接。对于 Telnet,我也做了试验,一样可以成功。但是别高兴的太早了,对于 ICQ、OICQ 类软件来说,事情就不是这么顺利了。因为它们的 UDP 数据包能够通过的 HTTP 代理可以说是非常少的。我试过十个左右的,就一个可以成功。而且这个还现在还关了。:(而且,能成功的也只是 OICQ99,我现在是换了 2000 了,结果就是(如图)—— 严重冲突,Socks2HTTP 给整趴下了。:(不过我的系统是 Windows 2000 Pro SP1,不知道在 9x 下会不会这样,反正,用这套办法玩 OICQ 可行性实在不是太大。除非你的运气好,能找到一个可以传输 UDP 包的 HTTP 代理。最后,最头大的是 FTP,在我的系统下,只要一到 ls 列目录时铁定传输错误。不过不排除在 Win9x 中没有问题。各位朋友们不妨自己试试。:) 最后总结一下,要用 SocksCap32 和 Socks2HTTP 这两个软件,最好的情况是能有一个 Socks5 的 Socks 代理(Socks4 不支持 UDP,那样就玩不了 OICQ 了),这样几乎就能干所有事了。其实很多软件本身就支持 Socks5 代理,像是大部分下载软件(如 FlashGet),FTP 软件(如 LeapFtp),Telnet 软件(如 STerm),ICQ/OICQ 等等。就算像 Becky! 这样不支持的,也有 SocksCap32 可以搞定。但是对于只有 HTTP 代理的,事情就要惨很多。:(虽然有 Socks2HTTP 来帮忙,但是通常情况你还是只能浏览、下载 HTTP 协议的东东、收发邮件、远程登录,运气非常好的可以玩玩 OICQ,至于 FTP,反正我这里是不行,各位可以自己试试。不过,话说回来,有通常就有反常.