51CTO摘录 , 版权归原作者所有

原文如下:

经常有网管询问如何有效的管理员工计算机的网络访问权限,例如屏蔽使用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就可以轻松实现了。

结束

相关资料

下载地址: http://download.enet.com.cn/speed/toftp.php?fname=232202001021901
参考地址 http://www.cnproxy.com/article36.html

转载于:https://blog.51cto.com/555321/806775

socks5代理搭建相关推荐

  1. socks5代理搭建及解决启动后不显示端口和进程

    1.拉取库 cd /root && wget https://ghproxy.com/https://github.com/shiunke/unke/blob/main/ss5-3.8 ...

  2. nps+Proxifier搭建socks5代理隧道进行内网穿透

    目录 一.实验环境搭建 二.nps 服务端配置 客户端配置 将npc注册到系统服务 三.Proxifiers使用 在渗透过程中,我们需要快速实现内网穿透,从而绕过网络访问限制,直接从外网来访问内网 正 ...

  3. 如何在CentOS 7上使用SS5搭建SOCKS5代理

    介绍 在本文中,我们将在CentOS 7上使用SS5设置Socks5代理服务器.SS5是一个实现SOCK4和SOCKS5协议的高性能SOCKS代理服务器.作为代理服务器,SS5对客户端的网络请求进行身 ...

  4. linux搭建socks5代理

    背景: 公司服务需要代理访问外部网络,经过综合考虑,最终选择了搭建socks5代理,以下是具体的安装步骤以及简单的使用案例 一.安装所需的依赖 yum -y install gcc gcc-c++ a ...

  5. 内网入口——代理搭建端口转发

    在内网渗透过程中经常会遇到搭建代理和端口转发的情况,本文记录一些常用工具的使用方法和典型应用场景,便于查阅. 文章目录 代理搭建&端口转发 1.EW 2.Venom 3.Stowaway 4. ...

  6. Proxifier Socks5 代理(内网访问、远程办公)

    适用场景 远程(在家)办公,访问公司内网 资源下载 代理工具 Proxifier: https://pan.baidu.com/s/13NoMcp1F03GXWt90PzsgPA 提取码: 8d3d ...

  7. 商业级4G代理搭建指南【搭建篇之Docker版】

    时间过得真快,距离这个系列的上一篇文章<商业级4G代理搭建指南[准备篇]>发布的时间已经过了两个星期了,上个星期由于各种琐事缠身,周二开始就没空写文章了,所以就咕咕咕了. 那么在准备篇中, ...

  8. Docker竟然还能这么玩?商业级4G代理搭建实战!

    时间过得真快,距离这个系列的上一篇文章<商业级4G代理搭建指南[准备篇]>发布的时间已经过了两个星期了,上个星期由于各种琐事缠身,周二开始就没空写文章了,所以就咕咕咕了. 那么在准备篇中, ...

  9. 基于Tor网络的HTTP代理搭建过程

    使用工具: Vidalia , Tor and Polipo : 用Tor连接tor网络,vidalia是tor的图形化配置界面,但tor只提供socks5代理,需要用polipo将socks5转为h ...

最新文章

  1. python调用数据库数据类型_ajax 读取python的数据库数据类型
  2. delphi 实现屏幕旋转代码_X86指令混淆之函数分析和代码块粉碎
  3. Bash Shell学习笔记三
  4. VMware HA与VMotion的部署与搭建
  5. java49_java培训 java49条基础知识
  6. Js中Proxy对象
  7. make,make install命令
  8. eclipse java machine_打开Eclipse弹出“No java virtual machine was found...的解决方法
  9. close与volume的相关性
  10. python直方图规定化_OpenCV 直方图处理:直方图均衡和规定化(匹配)
  11. PCB线路板上的电子元件你认识多少?
  12. Cholesky分解法
  13. appcan ajax mysql_AppCan里面的Ajax通信实例
  14. QGIS二次开发2:添加矢量、栅格图层及图层列表的实现
  15. 轻松解决电脑小喇叭的红叉叉
  16. yolov5开笔记本摄像头实时检测方法
  17. 【学习记录】状语和状语从句
  18. 自我认知(一)——打破思维的枷锁
  19. android 百度鹰眼集成,ios 百度鹰眼集成
  20. JavaScript的返回值

热门文章

  1. Sliverlight实例之 使用 ControlTemplate 自定义按钮的外观
  2. OpenWrt 挂载群晖NFS
  3. java实现抽奖_Java实现简单抽奖功能界面
  4. 夜深人静写算法(八)- 二分图最大匹配
  5. 用WheatA获取农业大数据
  6. iphone html5 音频播放器,iPhone应用轻松使用AVAudioPlayer音频播放
  7. 数据分析上钻,下钻,切片,转轴含义的理解
  8. Support for Pickling
  9. 计算机音乐带你去旅行数字乐谱,带你去旅行(抖音热门歌曲,校长)钢琴谱钢琴简谱数字谱钢琴双手简谱.pdf...
  10. 探寻智能网联趋势下“中国模式”创新崛起之路