教你建立socks5代理服务器
创始人
2024-03-21 22:11:11
0

经常有网管询问如何有效的管理员工计算机的网络访问权限,例如屏蔽使用QQ,MSN等聊天工具,禁止BT下载电影等。然而对于一般的交换式网络来说,通过简单的管理工具是不可能实现上面提到的方法的。就好比水流一样,只有从源头截断才能有效果,在中游和下游采取拦截措施只会造成洪灾的爆发。

所以说网络出口才是最有效的管理网络的地点,我们通过在网络出口配置一台双网卡的代理服务器来部署网络管理的全部。今天就由我手把手的教会你如何建立SOCKS5代理服务器。

一、Windows平台下SOCKS5代理服务器的实现思路

首先我要为IT168的读者介绍大名鼎鼎的nec版socks5服务器,用过xNIX系统的读者可能都熟悉,NEC的SOCKS5版软件既开源又免费。不过不经过处理它只能在UNIX及Linux下使用,作为Windows的用户,在Win平台下选择代理服务器比较麻烦,专业的代理软件如ISA系列,体积庞大而且配置相对复杂。好用点的如CCproxy是商业软件,免费使用时不能超过三用户。而免费的软件有的功能能够实现但没有用户控制功能,不能使用密码认证。

难道我们就没有办法在Windows平台下找到满意的代理软件吗?今天就由我告诉大家如何将NEC Socks5 UNIX版编译成WIN32版。这样通过使用编译后的版本就可以轻松的在Windows上建立SOCKS5代理服务器了。

二、编译nec的socks5代理软件WIN32版

第一步:从 http://www.socks.permeo.com下载socks5软件包。当然我们也可以在网上搜索,最新版本是socks5-v1.0r11.tar.gz。

第二步:从http://www.cygwin.com下载并安装cygwin软件,用于稍后编译工作。我们也可以从网上搜索。

第三步:将socks5-v1.0r11.tar.gz解压到cygwin的tmp目录下,即cygwin\tmp\socks5-v1.0r11,解压工具使用最常见的WINRAR即可。

第四步:修改cygwin\usr\include\cygwin\if.h文件,在#define IFF_LOOPBACK    0x8后添加#define IFF_POINTOPOINT 0x10。

第五步:修改socks5-v1.0r11\server\daemon.c,查找chdir("/");在前面添加"//"屏蔽掉此句,使之成为//chdir("/")。

小提示:如果不添加“//”屏蔽该句,则运行socks5会提示"Config: Error opening config file (socks5.conf): No such file or directory"。

第六步:修改socks5-v1.0r11\server\udp.c,找到
/*
if (Authorize(pri, 0) != AUTH_OK) {
S5LogUpdate(S5LogDefaultHandle, S5_LOG_ERROR, 0, "UDP Setup: Setup failed: permission denied");
s5err = SOCKS5_AUTHORIZE;
rval  = EXIT_AUTH;
goto cleanup;
}*/

这段代码将其删除。

小提示:我们也可以不删除这段代码,不过不删除的话运行代理的机器就不可以使用UDP代理了。

第七步:运行cygwin,在cygwin中切换到socks5-v1.0r11目录。

第八步:一次性输入以下命令
./configure --with-threads --with-libconffile=libsocks5.conf --with-srvconffile=socks5.conf --with-srvpidfile=socks5.pid --with-srvpwdfile=socks5.passwd --with-srvidtfile=socks5.ident

第九步:输入make后回车。

第十步:这样你会发现socks5-v1.0r11\server\Socks5.exe编译出来了,这就是我们所说的WIN32平台的Socks5代理工具的主程序了。

第十一步:加上cygwin\bin\cygwin1.dll(库文件),以及手工编辑的socks5.passwd(存放用户名和密码的文件),socks5.conf(配置文件),就是WIN32版的SOCKS5代理服务器软件的全部了。正常运行时只需要保留这四个文件在同一个目录即可。

第十二步:最后我们测试下制作的程序是否可以使用,进入socks5.exe所在目录,运行“socks5 -s -f”如果出现01904: Socks5 starting at Thu Oct 21 16:07:32 2004 in normal mode则表示软件编译成功。

三、启用代理功能

我们需要在一台服务器上通过刚刚编译好的socks5.exe程序开启代理功能。方法很简单,具体步骤如下:

第一步:双击刚刚编译的socks5.exe运行,出现一个黑乎乎的控制台窗口,将其最小化。

第二步:客户机就可以通过服务器的IP地址和默认端口1080来使用SOCKS5代理服务器了。

第三步:默认端口是1080,可能有的读者觉得比较难记或者公司对该端口进行了封闭,那么可以通过如下方法修改默认的代理端口,方法是加参数-b port。例如想改变代理端口为8088使用“socks5.exe -b 8088”来修改。

小提示:如果我们希望为使用代理的用户分配用户名和密码,阻止非法用户使用代理服务器的话可以使用以下方法。

编辑socks5.conf将#auth - - u前面的“#"符号去掉,再编辑 socks5.passwd,按照 “用户名 密码”的格式一行一回车添加用户名和密码,保存后运行socks5.exe,客户机就必须添加相应的用户名和密码才能正常使用代理服务器了。

总结:其实编译过程虽然复杂但我们只需要配置一次即可,以后启用代理服务器通过运行socks5.exe就可以轻松实现了。

 


您正在阅读:教你建立socks5代理服务器

【编辑推荐】

  1. 重装网域服务器二招秘诀
  2. 如何安全防范配置网吧电影服务器
  3. IBM服务器硬盘常见问题与故障诊断

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...