Skip to main content

1. 代理服务器

1.1. 代理服务器主要功能

  • 设置用户验证和记帐功能,可按用户进行记帐,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。

  • 对用户进行分级管理,设置不同用户的访问权限,对外界或内部的Internet地址进行过滤,设置不同的访问权限。

  • 增加缓冲器(Cache),提高访问速度,对经常访问的地址创建缓冲区,大大提高热门站点的访问效率。通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。

  • 连接Internet与Internet,充当防火墙(Firewall):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限。

  • 节省IP开销:代理服务器允许使用大量的伪IP地址,节约网上资源,即用代理服务器可以减少对IP地址的需求,对于使用局域网方式接入Internet ,如果为局域网(LAN)内的每一个用户都申请一个IP地址,其费用可想而知。但使用代理服务器后,只需代理服务器上有一个合法的IP地址,LAN内其他用户可以使用10...*这样的私有IP地址,这样可以节约大量的IP,降低网络的维护成本。

1.2. 代理服务器的特性分类

1.2.1. 正向代理服务器

正向代理服务器位于用户与目标服务器之间,用户通过对代理服务器发送指向目标服务器的请求来获得资源。用户端需要作一些设定才可以使用正向代理服务器,而反向/透明代理服务器是不需要对用户端进行任何设定的。

1.2.2. 反向代理服务器

反向代理服务器同样位于用户与目标服务器之间,但对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器地址,也无需在用户端作任何设定。反向代理服务器通常可用来作Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

1.2.3. 透明代理服务器

透明代理服务器位于于用户与目标服务器之间.和前两种服务器不同的是,用户即不需要对客户端进行任何设定,也无需知道代理服务器的地址。用户只需要向目标服务器上的资源发起请求即可,然后透明代理服务器会将系统的请求重新定向到代理服务器,然后由代理服务器获得目标资源并返回给用户端。通常,透明代理服务器在局域网中应用。

1.2. 代理服务器的用途分类

1.2.1. Http代理

代理客户机的http访问,主要代理浏览器访问网页,它的端口一般为80、8080、3128等。

1.2.2. SSL代理

支持最高128位加密强度的http代理,可以作为访问加密网站的代理。加密网站是指以https://开始的网站。ssl的标准端口为443。

1.2.3. HTTP CONNECT代理

允许用户建立TCP连接到任何端口的代理服务器,这种代理不仅可用于HTTP,还包括FTP、IRC、RM流服务等。

1.2.4. FTP代理

代理客户机上的ftp软件访问ftp服务器,其端口一般为21、2121。

1.2.5. POP3代理

代理客户机上的邮件软件用pop3方式收邮件,其端口一般为110。

1.2.6. Telnet代理

能够代理通信机的telnet,用于远程控制,入侵时经常使用。其端口一般为23。

1.2.7. Socks代理

是全能代理,就像有很多跳线的转接板,它只是简单地将一端的系统连接到另外一端。支持多种协议,包括http、ftp请求及其它类型的请求。它分socks 4 和socks 5两种类型,socks 4只支持TCP协议而socks 5支持TCP/UDP协议,还支持各种身份验证机制等协议。其标准端口为1080。

1.2.8. TUNNEL代理

经HTTPTunnet程序转换的数据包封装成http请求(Request)来穿透防火墙,允许利用HTTP服务器做任何TCP可以做的事情,功能相当于Socks5。

1.2.9. 文献代理

可以用来查询数据库的代理,通过这些代理,可以获得互联网的相关科研学术的数据库资源,例如查询Sciencedirect网站(简称SD)、Academic Press、IEEE,SPRINGER等数据库。

1.2.10. 教育网代理

指学术教育机构局域网通过特定的代理服务器可使无出国权限或无访问某IP段权限的计算机访问相关资源。

1.2.11. 跳板代理

应用于跳板程序,可以看作一种具有动态加密的特殊socks5代理,,也可直接用于PSD软件。其端口一般为1813。

1.2.12. Ssso代理

代理客户机上的ssso程序访问远程网站,具有SSL加密强度的超级代理,支持socks。

1.2.13. Flat代理

代理客户机上的flatsurfer程序访问远程网站,具有高强度加密数据流的特殊代理,支持socks,最大可设置三次级联,可以设置穿越代理。其端口一般为6700。

1.2.14. SoftE代理

代理客户机上的SoftEther程序访问远程网站,应用虚拟集线器HUB和虚拟网卡技术,具备VPN功能及多种认证方式的代理,符合https协议。

2. 常用的代理服务器

2.1. shadowsocks

2.2. shuttle

2.3. cntlm

NTLM是微软开发的http代理鉴权验证协议,只有原生支持NTLMv2鉴权协议的软件才能使用其代理服务,Cntlm是一款C开发的支持NTLM协议鉴权,并作为中间代理服务器,未其它 软件、OS提供代理服务的软件。

2.3.1. cntlm安装配置

常用的代理配置如下:

Username    test_user
Domain test_domain
Password test_password

Proxy proxy.xxx.com:8080

NoProxy 127.0.0.1

Listen 3128

Allow 0/0

Deny 0/0

需要配置鉴权HASH信息,可以通过如下命令获取,

C:\Program Files (x86)\Cntlm>cntlm.exe -M  https://www.baidu.com
0 [main] cntlm 48032 find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer. Please report this problem to
the public mailing list cygwin@cygwin.com
cygwin warning:
MS-DOS style path detected: C:\Program Files (x86)\Cntlm\cntlm.ini
Preferred POSIX equivalent is: /Cntlm/cntlm.ini
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Password:
Config profile 1/4... Credentials rejected
Config profile 2/4... OK (HTTP code: 500)
----------------------------[ Profile 1 ]------
Auth NTLM
PassNT 454D349D302XXXXXXXXXXXXXXXXXXXX9
PassLM 052764B974CXXXXXXXXXXXXXXXXXXXXC
------------------------------------------------

拷贝如下三行到配置文件

Auth            NTLM
PassNT 454D349D302XXXXXXXXXXXXXXXXXXXX9
PassLM 052764B974CXXXXXXXXXXXXXXXXXXXXC
  • 注意:

如果配置cntlm代理,需要把ie浏览器里的局域网代理,也切换到cntlm的本地地址上,如127.0.0.1::3128

2.3.2. cntlm服务重启

  • Windows
net stop cntlm
net start cntlm
  • Linux
apt-get install cntlm
systemclt restart cntlm

2. 常用的代理客户端

3. 参考链接

https://blog.csdn.net/ysdaniel/article/details/6999276