教你建立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("/");在前面添加"http://"屏蔽掉此句,使之成為//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代理服務器
【編輯推薦】