socks5进程代理源码(socks5代理)
本文目录一览:
- 1、socks5代理服务是什么意思 有什么做用?
- 2、易语言如何查询指定进程ip,有源码写源码,不会不说话。
- 3、帮我写一个VB源码,自动使用socks5代理后打开一个网页。大神们帮帮忙
- 4、如何用spi实现socks5代理
- 5、socks5代理是什么?能做什么?有什么功能?如何使用?
- 6、如何在Linux下配置socks5代理
socks5代理服务是什么意思 有什么做用?
Socks5是一个实现SOCKS v5协议的代理服务器。作为一个代理服务器,socks5鉴别、授权、处理客户的网络请求。它为客户建立连接到客户所请求的主机。客户机试图连接到网络时,只需连接到socks5的daemon。
接着是认证,客户请求socks5激活网络连接。包括bind,connect,sendto,ping,traceroute。
Socks5是独立于应用层协议的,能应付不同的网络服务。包括telnet,ftp,finger,whois,gopher,WWW。
Socks5 daemon 支持两种授权方式:
Username/Password -- 参考socks5.passwd
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。请参考socks5.conf(5)文档。这个配置文件的优先级高于环境变量和参数。环境变量设置高于参数设置。
OPTIONS
多个参数用空格分开。
-b [host:port] | --bindintfc [host:port]
host:port 指定socks5运行的主机和端口号用于代替缺省的端口。忽略主机的话,socks5使用0.0.0.0做为主机值。
-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用0.0.0.0作为主机值。
SOCKS5_CONFFILE filename
Filename 指定配置文件。在许多系统中,缺省是/etc/socks5.conf。在运行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/socks5.ident。当有多个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/socks5.pid。你可以用—bindintfc参数或设置SOCKS5_BINDINTFC环境变量运行socks5在不同于缺省端口的其它端口。当运行在不同于缺省端口的其它端口时,socks5存贮PID在/tmp/socks5.pid-port。
SOCKS5_PWDFILE filename
指定密码文件。在许多系统中,缺省是/etc/socks5.passwd。
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
Socks5.conf(5)
易语言如何查询指定进程ip,有源码写源码,不会不说话。
你好,本身你的提问就有问题。ip地址是一个设备的唯一表示符,与程序没关系。另:提问语气还那么不友好,而且是匿名。
初步分析可能的意思:
1、查询进程pid。任务管理器里就有。易语言自带的支持库也可以轻松实现。
2、查询指定进程的某一连接的目的ip。用网截或抓包可实现。
帮我写一个VB源码,自动使用socks5代理后打开一个网页。大神们帮帮忙
平凡的真的不能用,楼主的代理也可以用呀,只有第二个不能用,我发个能用的,代码如下: Private Const INTERNET_OPTION_PROXY = 38 Private Const INTERNET_OPEN_TYPE_PROXY = 3 Private Type INTERNET_PROXY_INFO dwAccessType As Long lpszProxy As String lpszProxyBypass As String End Type Private Declare Function internetsetoption Lib "wininet.dll" _ Alias "InternetSetOptionA" _ (ByVal hinternet As Long, _ ByVal dwoption As Long, _ ByRef lpbuffer As Any, _ ByVal dwbufferlength As Long) As Long Function SetProxy() Dim options As INTERNET_PROXY_INFO options.dwAccessType = INTERNET_OPEN_TYPE_PROXY options.lpszProxy = "SOCKS=" Combo1.Text '127.0.0.1:9050 options.lpszProxyBypass = "" internetsetoption 0, INTERNET_OPTION_PROXY, options, LenB(options) End Function Private Sub Command1_Click() SetProxy WebBrowser1.Navigate Text1.Text End Sub
如何用spi实现socks5代理
找到socks5-v1.0r11.tar.gz这个软件包
开始编译,安装
#tar xvfz socks5-v1.0r11.tar.gz
#cd socks5-v1.0r11
#./configure --with-threads
#make
#make install
开始配置
一般来说安装完后,会在/etc目录下生成socks5.conf(配置文件)和socks5.passwd(用于验证的文件)这两个文件,
下面我把我的配置文件帖出来
#/etc/socks5.conf
#指定SOCKS v5绑定的ip地址和监听的端口。如果不指定绑定的IP将使用0.0.0.0
set SOCKS5_BINDINFC 192.168.0.8:1080
#忽略ident请求。当客户机没有运行identd时,使用SOCKS5_NOIDENT将降低超时值
set SOCKS5_NOIDENT
#指定连接停顿最长时间。超过最大值后,socks5断开连接
set SOCKS5_TIMEOUT 15
#socks5将接受SOCKS V4 协议的请求,默认不接受
set SOCKS5_V4SUPPORT
#指定同时存在的最大子进程数,Socks5预设为64
set SOCKS5_MAXCHILD 4
#指定密码文件
set SOCKS5_PWDFILE /usr/local/socks5/etc/socks5.passwd
#对所有的客户连接都使用username/password用户认证方法
auth - - u
#允许来自192.168.0.的任何经过用户认证的连接
permit u - 192.168.0. - - -
#/usr/local/socks5/etc/socks5.passwd
#用户 密码
userA passwdA
userB passwdB
userC passwdC
前面的一些设置由于我在配置文件里都写了相关的内容,就不在说明了
如果不需要用户验证只需要把
auth - - u
改成 auth - - -
permit u - 192.168.0. - - -
改成
permit - - - - - -
大家注意上面permit - - - - - -这一句,是使任何人都可以使用你的socks5 server,非常不安全(让你作跳板),最好是有点限制
如
permit - - clientIP - - -
开始测试
/usr/local/socks5/bin/socks5 -f -s
如果出现下面的信息表示测试成功。
18210: Socks5 starting at Mon Dec 14 18:23:45 1998 in normal mode
然后退出socks5,开始正式运行它在背景模式:
正式运行
/usr/local/socks5/bin/socks5 -t -s 2 /var/log/socks5
最后,加到/etc/rc.d/rc.local
echo "/usr/local/socks5/bin/socks5 -t -s 2 /var/log/socks5.log"
/etc/rc.d/rc.local
如果要停止socks5,只要运行/usr/local/socks5/bin/stopsocks -kill就行,socks5就会停止!
启动测试:/usr/local/socks5/bin/socks5 -t
使用非默认端口:如果你想让socks5服务启动的时候不启动默认监听端口1080,比如为1234,我们可以运行如下命令
socks5 -b 1234 -t 当然你关掉这个服务,就必须用下面的命令 /usr/local/socks5/bin/stopsocks -p 1234 -kill
socks5代理是什么?能做什么?有什么功能?如何使用?
SOCKS5是一组由Internal工程工作小组(IETF)所开发出来的开放软件开放标准,用来处理网络安全的事宜。SOCKS象一堵墙被夹在Internal服务器和客户端之间,对于出入企业网络的资讯提供流量和安全的管理。SOCKS这个名词并不是一组英文字头的缩写,而是一个和TCP/IP的Socket端口有关的安全标准,一般防火墙系统通常是象网关(Gateway)一样是作用在OSI模型的第七层也就是应用层上,对TCP/IP的高级协议,如Telnet、FTP、HTTP和SMTP加以管制,而SOCKS作用在OSI模型的第四层也就是会话层上,象一个代理一样对客户端到服务器端或服务器和服务器之间的数据联系,提供安全上的服务。由于SOCKS作用在会话层上,因此它是一个提供会话层到会话层间安全服务的方案,不受高层应用程序变更的影响。
SOCKS5什么协议都可以代理,比如QQ使用的是UDP协议,就可以用SOCKS5。也就是说SOCK5支持TCP和UDP协议,还支持身份验证、服务器端域名解释等。
如何在Linux下配置socks5代理
找到socks5-v1.0r11.tar.gz这个软件包
开始编译,安装
#tar xvfz socks5-v1.0r11.tar.gz
#cd socks5-v1.0r11
#./configure --with-threads
#make
#make install
开始配置
一般来说安装完后,会在/etc目录下生成socks5.conf(配置文件)和socks5.passwd(用于验证的文件)这两个文件,
下面我把我的配置文件帖出来
#/etc/socks5.conf
#指定SOCKS v5绑定的ip地址和监听的端口。如果不指定绑定的IP将使用0.0.0.0
set SOCKS5_BINDINFC 192.168.0.8:1080
#忽略ident请求。当客户机没有运行identd时,使用SOCKS5_NOIDENT将降低超时值
set SOCKS5_NOIDENT
#指定连接停顿最长时间。超过最大值后,socks5断开连接
set SOCKS5_TIMEOUT 15
#socks5将接受SOCKS V4 协议的请求,默认不接受
set SOCKS5_V4SUPPORT
#指定同时存在的最大子进程数,Socks5预设为64
set SOCKS5_MAXCHILD 4
#指定密码文件
set SOCKS5_PWDFILE /usr/local/socks5/etc/socks5.passwd
#对所有的客户连接都使用username/password用户认证方法
auth - - u
#允许来自192.168.0.的任何经过用户认证的连接
permit u - 192.168.0. - - -
#/usr/local/socks5/etc/socks5.passwd
#用户 密码
userA passwdA
userB passwdB
userC passwdC
前面的一些设置由于我在配置文件里都写了相关的内容,就不在说明了
如果不需要用户验证只需要把
auth - - u
改成 auth - - -
permit u - 192.168.0. - - -
改成
permit - - - - - -
注意上面permit - - - - - -这一句,是使任何人都可以使用你的socks5 server,非常不安全(让你作跳板),最好是有点限制
如
permit - - clientIP - - -
开始测试
/usr/local/socks5/bin/socks5 -f -s
如果出现下面的信息表示测试成功。
18210: Socks5 starting at Mon Dec 14 18:23:45 1998 in normal mode
然后退出socks5,开始正式运行它在背景模式:
正式运行
/usr/local/socks5/bin/socks5 -t -s 2 /var/log/socks5
最后,加到/etc/rc.d/rc.local
echo "/usr/local/socks5/bin/socks5 -t -s 2 /var/log/socks5.log"
/etc/rc.d/rc.local
如果要停止socks5,只要运行/usr/local/socks5/bin/stopsocks -kill就行,socks5就会停止!
启动测试:/usr/local/socks5/bin/socks5 -t
使用非默认端口:如果你想让socks5服务启动的时候不启动默认监听端口1080,比如为1234,我们可以运行如下命令
socks5 -b 1234 -t 当然你关掉这个服务,就必须用下面的命令 /usr/local/socks5/bin/stopsocks -p 1234 -kill