建立nec socks5 window平台cygwin服务器

2024-02-01 21:58

本文主要是介绍建立nec socks5 window平台cygwin服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

教你建立socks5代理服务器

2009-05-24  来自:ChinaItLab     收藏
在Windows平台下找到满意的代理软件吗?今天就由我告诉大家如何将NEC Socks5 UNIX版编译成WIN32版,这样通过使用编译后的版本就可以轻松的在Windows上建立SOCKS5代理服务器了。

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

这篇关于建立nec socks5 window平台cygwin服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/668608

相关文章

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc