SOCKS5代理和http代理有什么区别?不同?
1、概念不同
(1)socks5代理,采用socks协议的代理服务器,是一种通用的代理服务器。
(2)http proxy,采用http协议代理服务器,主要代理浏览器访问网页。
2、代理速度不同
(1)http代理工作在应用层上,只允许用户通过HTTP协议访问外部网站。
(2)Socks5代理工作在会话层,不要求应用程序遵循特定的操作系统平台,Socks5代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。
所以,Socks5代理比http代理速度要快得多。
3、端口不同
(1)socks5代理默认端口是1080。
(2)http代理一般端口是80、8080、3128等。
-http代理
-SOCKS5代理
软件:专业Socks5代理公布器 在QQ登录界面点击“高级设置”。 类型选Socks5代理,分别填入地址和端口,“用户”、“密码”则不需要填写,然后点“测试”,假如提示说“不能连接代理服务器”,换一个;假如显示“代理服务器正常”,说明代理正常,登录QQ QQ代理公布器 V2006 http://wwwskycncom/soft/9642html
Socks5是一个实现SOCKS v5协议的代理服务器。作为一个代理服务器,socks5鉴别、授权、处理客户的网络请求。它为客户建立连接到客户所请求的主机。客户机试图连接到网络时,只需连接到socks5的daemon。
接着是认证,客户请求socks5激活网络连接。包括bind,connect,sendto,ping,traceroute。
Socks5是独立于应用层协议的,能应付不同的网络服务。包括telnet,ftp,finger,whois,gopher,WWW。
Socks5 daemon 支持两种授权方式:
Username/Password -- 参考socks5passwd
Kerberos 5 -- 要求Kerberos libraries的支持。使用Kerberos 5(GSS-API) 的其它信息,请参考Kerberos 的man page。
Socks5的运行方式:
Standalone – default
Preforking - -p
Threaded - -t 如果你的操作系统支持POSIX threads 并且你configure socks5时加了—with-threads 参数。-t参数使socks5运行在threaded 模式。所有的操作系统都对线程数和每进程的打开文件描述符加于限制。
Through inetd - -i,通过inetd启动。
你可以通过一些配置文件、环境变量和参数控制socks5 daemon。请参考socks5conf(5)文档。这个配置文件的优先级高于环境变量和参数。环境变量设置高于参数设置。
OPTIONS
多个参数用空格分开。
-b [host:port] | --bindintfc [host:port]
host:port 指定socks5运行的主机和端口号用于代替缺省的端口。忽略主机的话,socks5使用0000做为主机值。
-d [val] | -- debug[val]
打开debug模式,设置debug值为val。如果忽略此值,socks5仅仅发送警告信息。val 的有效值是1,2,3。如果指定其它值,socks5认为是3。有效值的含义:
1 LOG_NOTICE 不报错
2 LOG_INFO 报告信息
3 LOG_DEBUG 报告用于debug 的信息。
-f | --foreground
前台运行。当运行在standalone模式时,阻止从parent shell分裂。--foreground 一般用于调试
-i | --inetd
通过inetd运行socks5。
-n val | --nchildren val
设置同时存在的最大子进程数为val。Socks5预设最大子进程数为64。使用这个参数降低预设值。你不能设置最大子进程数超过操作系统限制的值。当运行在线程模式时,
socks5忽略此值,在oneshot 模式和 inetd 模式下,此参数也没用。
-o | --oneshot
在前台处理一个请求,打开debug模式,输出到stderr,然后退出。用于调试。
-p | --prefork
preforking进程运行socks5。同时需要 –nchildren 参数控制已forked 的进程数。
-s | --stderr
纪录所有的输出到stderr代替syslog。主要用于debug 模式。
-t | --threaded
运行在线程模式。要求你的操作系统支持POSIX threads 并且编译socks5时加了—with-threads 参数。如果线程模式无效,socks5打印一个错误信息,转到standalone 模式。
-v | --version
打印一条信息(包括当前socks5版本号)到stderr。
ENVIRONMENT
环境变量控制socks5怎样执行。可以在环境或配置文件中设置它们。当环境和配置文件有冲突时,配置文件的优先级高。在配置文件中设置变量,使用如下的语法:
set variable [value]
SOCKS5_BINDINTFC host:port
host:port 指定socks5运行的主机和端口号,用于代替缺省的端口。忽略时,socks5用0000作为主机值。
SOCKS5_CONFFILE filename
Filename 指定配置文件。在许多系统中,缺省是/etc/socks5conf。在运行socks5之前,设置这个变量。如果有多个socks5 daemon运行,为每个daemon使用不同的配置文件。
SOCKS5_DEMAND_IDENT
当客户没有响应ident 请求时,认证失败。使用SOCKS5_DEMAND_IDENT确认每个连接有一个关联的用户名。
SOCKS_ENCRYPT
如果可能的话,请求下一个socks5进程加密数据。SOCKS5_ENCRYPT 仅仅在编译socks5时包括了GSS-API认证时,才有意义。
SOCKS5_FORCE_ENCRYPT
当认证方式支持加密时,强迫客户加密数据。
SOCKS5_IDENTFILE filename
Filename指定存储ident信息的文件名。在许多系统中,缺省是/tmp/socks5ident。当有多个socks5 daemon运行时,SOCKS5_IDENTFILE非常有用。
SOCKS5_MAXCHILD val
val指定同时存在的最大子进程数。Socks5预设为64。可以降低预设置。不能超过64。Socks5运行在线程模式时,忽略此参数。当运行在oneshot或inetd模式时,此参数不发生作用。
SOCKS_NOIDENT
忽略ident请求。当客户机没有运行identd时,使用SOCKS5_NOIDENT将降低超时值。
SOCKS_NOINTCHK
请求下一个socks5进程执行没有完整检查的代理请求。只有在编译时加入GSS-API认证时,SOCKS5_NOINTCHK才发生作用。
SOCKS_NONETMASKCHECK
指示daemon忽略检查主机的子网掩码。缺省时,daemon检查掩码,如果在同一子网时,在检查配置文件之前,直接连接。
SOCKS5_REVERSEMAP
总是试图影射地址到主机名。缺省时,socks5只有当主机名或域名在配置文件中使用时才影射。设置后,log文件将纪录主机名,这将降低性能。
SOCKS5_SERVICENAME
总是影射端口号到服务名。缺省时,socks5只有当服务名在配置文件中使用时才影射。设置后,log文件将纪录服务名,这将降低性能。
SOCKS5_PASSWD [password]
当socks5 daemon连接到其它socks服务器时,如果采用Username/Password 认证,用它来指定密码。
SOCKS5_PIDFILE filename
指定存储socks5进程ID的文件名。Socks5缺省存贮PID在/tmp/socks5pid。你可以用—bindintfc参数或设置SOCKS5_BINDINTFC环境变量运行socks5在不同于缺省端口的其它端口。当运行在不同于缺省端口的其它端口时,socks5存贮PID在/tmp/socks5pid-port。
SOCKS5_PWDFILE filename
指定密码文件。在许多系统中,缺省是/etc/socks5passwd。
SOCKS5_TIMEOUT minutes
指定连接停顿最长时间。超过最大值后,socks5断开连接。忽略此值时,缺省是15。
SOCKS5_UDPPORTRANGE port1-port2
指定一个Socks5用来发送UDP包的UDP端口范围。
SOCKS5_USER [user id]
当socks5 daemon连接到其它socks server时,如果采用Username/Password认证,用此变量指定用户名。
SOCKS5_V4SUPPORT
缺省时,socks5只接受SOCKS V5协议(rfc 1928)的请求。设此变量后,socks5将接受SOCKS V4 协议的请求。
REQUEST FOR COMMENTS
RFC1928 SOCKS protocol Version 5
RFC1929 Username/Password Authentication for SOCKS V5
RFC1961 GSS-API Authentication Method for SOCKS Version 5
SEE ALSO
Socks5conf(5)
主要的功能有:
1突破自身IP访问限制,访问国外站点。教育网、169网等网络用户可以通过代理访问国外网站。
2访问一些单位或团体内部资源,如某大学FTP(前提是该代理地址在该资源 的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育 网开放的各类FTP下载上传,以及各类资料查询共享等服务。
3突破中国电信的IP封锁:中国电信用户有很多网站是被限制访问的,这种 限制是人为的,不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国 外的代理服务器试试。
4提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界 的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
5隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击。
SOCK5代理服务器 :
被代理端与代理服务器通过“SOCK4/5代理协议”进行通迅(具体协议内容可查看RFC文 档)。SOCK4代理协议可以说是对HTTP代理协议的加强,它不仅是对HTTP协议进行代理, 而是对所有向外的连接进行代理,是没有协议限制的。也就是说,只要你向外连接,它 就给你代理,并不管你用的是什么协议,极大的弥补了HTTP代理协议的不足,使得很多 在HTTP代理情况下无法使用的网络软件都可以使用了。(例如:OICQ、MSN等软件 )。
SOCK5代理协议又对前一版进行了修改,增加了支持UDP代理及身份验证的功能。
它不是“协议代理”,所以它会对所有的连接进行代理,而不管用的是什么协议。
1ks5的安装包最新版本是socks5-v10r11targz
2软件包
#tar xvfz socks5-v10r11targz
3开始编译
#cd socks5-v10r11
#/configure --with-threads
#make
#make install
4建立/etc/socks5conf,其实在软件包里已经有现成的examples
#cd examples
#cp socks5confsinglehomed /etc/socks5conf (我们挑选一个最简单的配置文件)
默认配置就是
# A Socks5 Config file for a normal, single homed server
permit - - - - - -
这个配置文件是允许任何人都可以使用这个socks5代理,并不需要验证
如果想限制只是某个IP段(19216800/2552552550)可以访问,可以改成
permit - - 1921680 - - -
或者只允许某个IP(192168010)可以访问使用,可以改成
permit - - 192168010 - - -
5ok 运行一下socks5 -t 启动socks5服务,然后用QQ测试一下代理是否生效,记住默认端口是1080
反正我是在FTP软件和QQ上试了 都没问题。
6如果要停止socks5,只要运行stopsocks -KILL就行,socks5就会停止!
7使用非默认端口:如果你想让socks5服务启动的时候不启动默认监听端口1080,比如为1234,我们可以运行如下命令
socks5 -b 1234 -t 当然你关掉这个服务,就必须用下面的命令 stopsocks -p 1234 -KILL
8我们来深入配置一下socks5conf,使socks5使用用户验证机制
要使用用户验证,首先要建立/etc/socks5pwsswd文件
内容为:(userA代表用户名。passwdA代表用户userA的密码)
#/etc/socks5passwd
userA passwdA
userB passwdB
userC passwdC
然后修改/etc/socks5conf
添加下列语句
auth - - u
或者把:
auth - - -改成auth - - u
添加:
把默认permit - - - - - - 改成permit u - 1921680 - - -
即允许来自19216800/2552552550网段的任何经过用户认证的连接
如果你不想把密码文件存在默认的/etc/socks5passwd里。想存在自定义的文件,比如/etc/qqpasswd
那就得修改/etc/socks5conf添加一项参数
set SOCKS5_PWDFILE /etc/qqpasswd
ok!重启一下服务,这时如果不输入正确的用户名和密码是使用不了socks5代理服务器的,输入正确的用户名和密码便可使用。
以上说的参数,大家可以结合使用,比如限制某个IP段使用socks5服务,而且要使用用户名验证
0条评论