1. Java代理的作用和实现
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
2. 关于代理服务器的使用
代理服务器(Proxy Server)是指那些自己不能执行某种操作的计算机,通过一台服务器来执行该操作,该服务器即为代理服务器。代理服务器是伴随着Internet应运而生的网络服务技术,它可以实现网络的安全过滤、流量控制(减少Internet使用费)、用户管理等功能,因此代理服务器对家庭网络、小型企业网络的用户十分有用。它不但可以解决许多单位连接Internet引起IP地址不足的问题,还能加快客户机访问网络资源的速度,控制网络流量并节约上网成本,甚至还能作为初级的网络防火墙使用,隔断非法访问信息,阻止一般的骇客入侵本地局域网。
代理服务器能够实现的功能有:共享上网、防火墙、用户管理、控制流量等。
1.共享上网,节约IP地址
在连入Internet时,所有客户机都要申请1个IP地址,但IP地址的划分已不能满足用户对连入Internet的期望,如果使用代理服务器就可以解决这一矛盾。首先将需要连入Internet的计算机连成一个局域网,然后通过代理服务器连入Internet,这样就可以使多台计算机共用一个Internet上的IP地址,即共用一个出口连入Internet,这样就能够在最大限度上节约IP地址,同时也节省了公司、单位上网的费用(节点占用费、折旧费之类)。
2.减少出口流量
许多用户使用代理服务器主要用来解决共享上网的问题,但它还有一个重要功能,就是减少单位出口流量。代理服务器为用户提供较大的高速缓存(Cache),当一个客户机访问过Internet上的某些资源时,它就会将这些访问过的资源存入Cache中,其它客户机需要浏览同样信息时,代理服务器会自动从Cache中读取。因此,所有通过代理服务器的用户都能共享这些访问过的资源,这就可以大大提高客户机访问速度,减少本地节点的出口负载及流量,降低成本,提高经济效益。
3.用户管理
单位的领导一定都对如何管理员工上网问题头痛不已吧。在工作时间上网玩游戏,或者用QQ聊天等的确十分影响工作效率。而如果公司上网使用代理服务器的话,就可以在代理服务器上设置一些参数,对用户进行有效管理了。可以针对不同用户开放不同的应用功能,设置用户使用权限,如:WWW、FTP、Telnet、E-mail等。也可在代理服务器中设置QQ、ICQ等网络应用软件的用户使用权限。还可以对Internet上的一些站点进行过滤,使用户只能访问某一IP地址段或某个域(Domain)范围的信息。
4.代理服务器的防火墙功能
防火墙技术是近几年开发并推广使用的一项网络安全新技术,它是在各个网络之间实施访问控制策略的一个系统,既能过滤非法信息流,又能允许合法信息流通。用代理服务器能在一定程度上实现防火墙功能。
以上说明了单位局域网上网使用代理服务器的用途。其实我们需要的代理服务器就是普通计算机上加装代理服务器软件,流行的有Wingate、Winroute、Sygate等。这些软件都有各自的特点,本方案中推荐使用Wingate,不仅因为它的功能强大和全面,而且因为Wingate是老牌的代理服务器软件,国内用户众多,可以即时得到技术高手们的支持和帮助。
Wingate经典配置
在本文开始之前,先谈一下Wingate的运行环境。Wingate最佳平台为Windows 2000,在Windows 98上虽可工作,但稳定性较差,而且无法解析机器名,只能显示IP地址,对实时监控管理来说不大方便。Wingate的下载地址是http://www.wingate.net,软件安装很方便,只要一直按“Next”,最后Finish就行了。重启后在状态栏会出现一个图标,蓝色表示正常工作,红色说明停止或异常出错。
1.客户机浏览网页
其实这时Wingate代理服务已经能工作了,只要拨号连接就能让局域网接入Internet。如果你想用IE浏览网页,以IE5.5为例,只要在菜单“工具”、“Internet选项”、“连接”、“局域网设置”中将代理服务器的IP地址填入,端口默认为80(可以更改)就行了。
2. E-mail设置
众所周知,一般电子邮件收信使用POP3(邮局协议3)协议,而发信用SMTP(简单邮件传输)协议。端口对应分别为110和25,Wingate同时提供对它们的支持,在Wingate主界面中切到“服务”栏,可以看到它列出了许多服务,其中就有POP3 proxy server,端口默认也为110。
下面设置POP3收信客户端,我这里使用Foxmail,以网易免费邮箱163.com为例。在邮件收件服务器中填入代理服务器的IP地址,用户名填写时要注意,输入格式为“用户名#POP3服务器地址”,例如“email#pop3.163.com”。如果你的代理使用非标准端口,可在“客户软件”、“高级选项”中更改。
Wingate初始安装并不带SMTP服务,我们可以手工添加:在“服务”栏空白处点鼠标右键,“新的服务”中选“SMTP代理服务”,再双击SMTP代理服务,会看到弹出一个窗口,在“一般”中将“支持通过ISP邮件服务器发送电子邮件”勾上,由于现在许多免费发信服务器都只发送本域内的邮件,对回复地址非本域的邮件都会自动退信,所以在这里可填入当地ISP的邮件地址,客户端只要将发信服务器改为代理服务器地址即可。
3. QQ聊天设置
很多朋友都说用Wingate做代理服务器无法使用QQ,其实设置十分简单:在QQ的“系统参数”、“代理设置”中勾选“使用Sock5代理服务器”,然后填入“代理服务器地址”,默认端口1080即可。Irc聊天软件的设置方法同上,在“防火墙”选项中设置就行了。
4. FTP设置
FTP的设置与E-mail设置类似,需要连接的FTP服务器地址使用代理服务器地址,关键还是在用户名格式:用户名@pop3服务器地址。
5.流媒体播放设置
现在许多人上网都爱在线看电影。Realplayer、Quicktime等软件是必不可少的播放工具了。不过要通过Wingate代理服务器上网,它们还需要做一些设置:在Quicktime中,需要在“Streaming Proxy”选项中将Sock和Http的地址填入,然后在“Stream Transport”中选择端口,在网络良好的情况下都能流畅地观赏影片。Realplayer中设置的方法为:在“代理服务器“中选择使用PNA服务器,填入代理服务器地址,端口默认为1090。在“传输”中选“使用指定传输”,“Rtsp”和“Pna”都选“只使用Http”。
6.下载断点续传设置
以Getright为例,在Getright的“Configuation”、“Internet-Proxy”中,勾选“Use Proxy Servers”,下面分别填入Http、Ftp和Sock代理服务地址和端口,在Ftp代理设置中勾选“Use Http Protocol With Ftp Proxy Server”。
7.禁止访问受限站
在“禁止清单“中创建一标准条件,规则为:http地址,条件:包含,再加具体地址。这样每当此用户访问此站点时就会显示警告信息,并在Wingate的系统信息中记录在案。
8.禁止下载软件
由于现在网络可供下载的软件格式一般为zip、exe、rar,因此可以在“禁止清单”中设置三个条件为“http地址”、“结束”、具体地址“zip,exe或rar”的规则。这样就能有效地防止用户下载软件。
3. 代理模式、装饰者模式
代理模式和装饰者模式
Java 动态代理详解
装饰者模式:
在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。
代理模式:
为其他对象提供代理, 以控制对这个对象的访问。
代理模式和装饰者模式的相同:
一个新的对象封装原有的对象。
代理模式和装饰者模式的不同:
代理模式是为了实现对象的访问控制;
装饰者模式是继承的一种替代方案;
CGLIB动态代理介绍
生成字节码文件
springboot啥时候用jdk动态代理, 啥时候用cglib呢
enhancer字节码增强器
enhancer.setSuperclass(superClass)继承被代理的类
methodInterceptor增强的内容。
enhancer生成代理对象,生成的代理对象长啥样?
Cglib 总结
CGlib可以传入接口也可以传入普通的类,接口使用实现的方式,普通类使用会使用继承的方式生成代理类.
由于是继承方式,如果是 static方法,private方法,final方法等描述的方法是不能被代理的
做了方法访问优化,使用建立方法索引的方式避免了传统JDK动态代理需要通过Method方法反射调用.
提供callback 和filter设计,可以灵活地给不同的方法绑定不同的callback。编码更方便灵活。
CGLIB会默认代理Object中equals,toString,hashCode,clone等方法。比JDK代理多了clone。
4. 代理服务器的主要功能有哪些
在不使用代理服务器的情况下,用户使用网络浏览器直接连接其他Internet站点取得网络信息时,须发出请求信号来得到回答,然后对方再把信息以数据流方式传送回来。
有了代理服务器之后,浏览器向代理服务器发出请求,当代理服务器接收请求信息号,再由代理服务器来取回浏览器所需要的信息并传送给终端用户的浏览器。代理服务器的作用如下。
1、共享网络
如通过Squid、sygate、wingate、isa、ccproxy以及NT系统自带的网络共享等代理服务器访问外部站点的信息。这些代理服务器也都能提供企业级的文件缓存、复制和地址过来等服务。
充分利用局域网出口的有限带宽,加快内网用户的访问速度,能解决仅仅有一条线路一个公有IP,在这种公有IP资源严重不足的情况下,满足局域网众多用户同时共享上网的需求。
2、访问代理
现在的网络环境中常常会出现网络拥挤或网络故障。用户通常都会通过代理服务器绕道访问目的站点;另外,代理服务器中通常会备份有相当数量的缓存文件。
如果当前所访问的数据在代理服务器的缓存文件中,则可直接读取,而无需再连接到远端Web服务器。这样可以达到加快访问网站速度,节约通信带宽的目的。
3、提高速度
提高下载速度,突破一个IP、一个下载线程的限制以及电信和联通的用户互上对方的电影网站下载的限制。
4、突破限制
互联网上有许多开放的代理服务器,客户在访问权限受到限制时,而这些代理服务器的访问权限是不受限制的,刚好代理服务器在客户的访问范围之内。
那么客户通过代理服务器访问目标网站就成为可能。通过代理服务器,国内高校使用教育网就能实现访问因特网,这就是高校内代理服务器流向的原因所在。
5、防止攻击
通过代理服务器完成内部主机的访问使主机地址等信息不会发送到外部,隐藏了自己的真实地址信息,还可隐藏自己的IP。更有效地保护了内部主机。
6、充当防火墙
因为所有使用代理服务器的用户都必须通过代理服务器访问远程站点,因此在代理服务器上就可以设置相应的限制,以过滤或屏蔽某些信息。
7、方便对用户管理
通过代理服务器,管理员可以设置用户验证和记账功能,对用户进行登记,并对用户的访问时间、访问地点、信息浏览进行统计。没有登记的用户无权通过代理服务器访问Internet
8、隐藏身份
代理服务器使用内部用户访问Interner时受到保护,内部网的用户要对外发布信息就需要使用代理服务器的反向代理功能。这样就不会影响到内部网络的安全性能,起到隐藏身份的目的。
(4)代理技术可以实现访问控制吗扩展阅读:
代理服务器使用特点:
代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给浏览器。
而且,大部分代理服务器都具有缓冲的功能,就好像一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据。
而直接将存储器上的数据传送给用户的浏览器,这样就能显着提高浏览速度和效率(速度会随着代理服务器地理位置的不同以及网络传输情况而改变),而且国外的网络大部分都是没有限制访问网站或者所限制的不同,所以我们有很大的机会通过代理服务器去访问那些原本不能够去的网站。
更重要的是:Proxy Server (代理服务器)是Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联(OSI) 模型的对话层。
参考资料来源:网络-代理服务器
5. 什么是隧道代理技术
隧道代理是一种代理IP存在的模式,通俗的讲就是一个代理IP,相较于传统固定代理IP,它的特殊的地方就在于会在代理服务器端自动换IP,实现每次请求都使用一个不同的IP。
要实现隧道代理,首先必须搭建一个代理服务器,其次还需要有大量的代理IP来进行切换。一般实现起来需要一些经济基础和技术实力。
隧道代理(TB)技术提供了一种简化的隧道配置方法,它要求隧道的双方都支持双栈。通过TB,用户可以很方便地和IPv6 ISP建立隧道连接,从而访问外部可用的IPv6资源;ISP通过专用的隧道服务器提供了一种非常简捷的接入方式,并自动管理用户发出的隧道请求。在隧道代理体系中,所有功能单元之间(包括客户和TB之间、TB和隧道服务器之间以及TB和DNS之间)都需要使用安全机制保护。在客户与TB之间,有很多的安全机制可供选择(如可以使用SSL在WEB服务器上对发送和下载进行加密,还可以使用简单的用户名/密码程序来实现访问控制,等等)。在TB与隧道服务器之间可以采用SNMP。在TB与DNS之间,如果使用动态DNS更新程序,安全性与SNMP完全相同;如果使用基于RSH命令的简便方法,也可以使用标准的IPsec。
6. 设计模式——代理模式
代理模式(Proxy Pattern)是一个使用率非常高的模式。
定义: Provide a surrogate or placeholder for another object to control access to it. (为其对象提供一种代理以控制这个对象的访问)
代理模式也叫委托模式,它是一项基本的设计技巧。许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式,而且在日常应用中,代理模式可以提供非常好的访问控制。
三个角色的定义
抽象主题类可以是抽象类也可以是接口,是一个最普通的业务类型定义,无特殊要求。
也叫做被委托的角色、被代理的角色。是业务逻辑的具体执行者。
也叫委托类、代理类。它负责对真实角色的应用,把所以抽象主题定义的方法限制委托给真实主题角色实现,并且在真实主题角色处理完毕前后做预处理和善后工作。
一个代理类可以代理多个被委托者或者被代理者,因此一个代理者具体代理哪个真实主题角色,是由场景类决定的。在通常情况下,一个接口只需要一个代理类就可以了,具体代理哪个实现类由高层模块决定,也就是在代理类的构造函数中传递被代理者。
类似现实生活中买房子的中介,打官司的律师。你不想参与中间过程的是是非非。减轻用户的负担。代理模式使用场景非常多。最典型的是Spring AOP中的动态代理。
普通代理就是我们要知道代理的存在,也就是类似GamePlayerProxy这个代理类的存在,然后才能访问。
普通代理的要求就是客户端只能访问代理角色,而不能访问真实角色。以游戏代练为例子,
GamePlayer的构造函数增加了_gamePlayer参数,而代理角色则只要传入代理者名字即可,而不需要说是替哪个对象做代理
在构造函数中,传来进来一个IGaemPlayer对象,检查谁能创建真实的角色,或者做出别的限制。
仅仅修改了构造函数,传递进来一个代理者名称,即可进行代理,在这种改造下,系统更加简洁,调用者只知道代理的存在就行,不用知道代理了谁。
在该模式下,调用者只知道代理而不知道真实的角色是谁,屏蔽了真实角色的变更对高层模块的影响,真实的主题角色想怎么修改都可以,对高层次的模块没有任何的影响,只要你实现了接口所对应的方法,该模式非常适合对扩展性要求较高的场合。
强制代理是要“强制”,必须通过真实角色查找到代理角色,否则不能进行访问。无论是通过代理类还是直接new一个主题角色类,都不能访问,只有通过真实角色指定的代理类才能访问,也就是说由真实的角色管理代理角色。例如你和一个明星比较熟,你直接找明星帮忙要见导演,但是明星说她比较忙,让你找她的经纪人。你本来想绕过她的代理,谁知道她返回的还是她的代理,这就是强制代理。你可以不知道代理的存在,但是你的所作所为还是需要代理为你提供服务。
强制代理的概念就是要从真实的角色查找到代理角色,不允许直接访问真实角色。高层模块只要调用 getProxy() 就可以访问真实角色的所以方法,它根本不需要产生一个代理出来,代理的管理已经由真实角色自己完成。
一个类可以实现多个接口,完成不同任务的整合。也就是说代理类不仅仅可以实现主题接口,也可以实现其他接口完成不同的任务,而且代理的目的是在目标对象方法的基础上作增强,这种增强的本质通常就是对目标对象的方法进行拦截合过滤。
动态代理
7. 高分请教网络管理单选择题
1 A
2 A
3 B
4 B
5 A
6 C
10 A
应该不会错的,以下为参考资料:
基于“对称密钥”的加密算法主要有DES、TripleDES、RC2、RC4、RC5和Blowfish等;基于“非对称密钥”的加密算法主要有RSA、Diffie-Hellman等
混合加密其基本原理是:在数据通信前,用DES方法对消息明文加密,同时用RSA方法对DES密钥进行加密和实现数字签名。
代理技术的优点:
(1)代理易于配置
代理因为是一个软件,所以它较过滤路由器更易配置,配置界面十分友好。如果代理实现得好,可以对配置协议要求较低,从而避免了配置错误。
(2)代理能生成各项记录
因代理工作在应用层,它检查各项数据,所以可以按一定准则,让代理生成各项日志、记录。这些日志、记录对于流量分析、安全检验是十分重要和宝贵的。当然,也可以用于记费等应用。
(3)代理能灵活、完全地控制进出流量、内容
通过采取一定的措施,按照一定的规则,我们可以借助代理实现一整套的安全策略,比如可说控制“谁”和“什么”还有“时间”和“地点”。
(4)代理能过滤数据内容
我们可以把一些过滤规则应用于代理,让它在高层实现过滤功能,例如文本过滤、图像过滤,预防病毒或扫描病毒等。
(5)代理能为用户提供透明的加密机制
用户通过代理进出数据,可以让代理完成加解密的功能,从而方便用户,确保数据的机密性。这点在虚拟专用网中特别重要。代理可以广泛地用于企业外部网中,提供较高安全性的数据通信。
(6)代理可以方便地与其它安全手段集成
目前的安全问题解决方案很多,如认证(Authentication)、授权(Authorization)、帐号(Accouting)、数据加密、安全协议(SSL)等。如果把代理与这些手段联合使用,将大大增加网络安全性。这也是近期网络安全的发展方向。
代理技术的缺点:
(1)代理速度较路由器慢
路由器只是简单察看TCP/IP报头,检查特定的几个域,不作详细分析、记录。而代理工作于应用层,要检查数据包的内容,按特定的应用协议(如HTTP)进行审查、扫描数据包内容,并进行代理(转发请求或响应),故其速度较慢。
(2)代理对用户不透明
许多代理要求客户端作相应改动或安装定制客户端软件,这给用户增加了不透明度。为庞大的互异网络的每一台内部主机安装和配置特定的应用程序既耗费时间,又容易出错,原因是硬件平台和操作系统都存在差异。
(3)对于每项服务代理可能要求不同的服务器
可能需要为每项协议设置一个不同的代理服务器,因为代理服务器不得不理解协议以便判断什么是允许的和不允许的,并且还装扮一个对真实服务器来说是客户、对代理客户来说是服务器的角色。挑选、安装和配置所有这些不同的服务器也可能是一项较大的工作。
(4)代理服务通常要求对客户、过程之一或两者进行限制
除了一些为代理而设的服务,代理服务器要求对客户与/或过程进行限制,每一种限制都有不足之处,人们无法经常按他们自己的步骤使用快捷可用的工作。由于这些限制,代理应用就不能像非代理应用运行得那样好,它们往往可能曲解协议的说明,并且一些客户和服务器比其他的要缺少一些灵活性。
(5)代理服务不能保证免受所有协议弱点的限制
作为一个安全问题的解决方法,代理取决于对协议中哪些是安全操作的判断能力。每个应用层协议,都或多或少存在一些安全问题,对于一个代理服务器来说,要彻底避免这些安全隐患几乎是不可能的,除非关掉这些服务。
代理取决于在客户端和真实服务器之间插入代理服务器的能力,这要求两者之间交流的相对直接性。而且有些服务的代理是相当复杂的。
(6)代理不能改进底层协议的安全性
因为代理工作于TCP/IP之上,属于应用层,所以它就不能改善底层通信协议的能力。如IP欺骗、SYN泛滥,伪造ICMP消息和一些拒绝服务的攻击。而这些方面,对于一个网络的健壮性是相当重要的。
突破防火墙系统最常用的方法是IP地址欺骗,它同时也是其他一系列攻击方法的基础。之所以使用这个方法,是因为IP自身的缺点。IP协议依据IP头中的目的地址项来发送IP数据包。如果目的地址是本地网络内的地址,该IP包就被直接发送到目的地。如果目的地址不在本地网络内,该IP包就会被发送到网关,再由网关决定将其发送到何处。这是IP路由IP包的方法。IP路由IP包时对IP头中提供的IP源地址不做任何检查,并且认为IP头中的IP源地址即为发送该包的机器的IP地址。当接收到该包的目的主机要与源主机进行通讯时,它以接收到的IP包的IP头中IP源地址作为其发送的IP包的目的地址,来与源主机进行数据通讯。IP的这种数据通讯方式虽然非常简单和高效,但它同时也是IP的一个安全隐患,很多网络安全事故都是因为IP这个的缺点而引发的。
8. 以下不属于代理服务技术优点的是
D
代理服务技术的优点是:隐蔽内部网络拓扑信息;网关理解应用协议,可以实施更细粒度的访问控制;较强的数据流监控和报告功能(主机认证和用户认证)缺点是对每一类应用都需要一个专门的代理,灵活性不够;每一种网络应用服务的安全问题各不相同,分析困难,因此实现困难。速度慢。
9. 快解析内网穿透代理可以实现远程访问吗
是可以的哦。快解析的内网穿透代理采用的是一体化技术服务,是可以实现全方位搭建服务器实现远程访问。并且他们的内网穿透P2P内网穿透技术更稳定、HTTPS映射数据加密传输更安全。想了解更多可以网络一下。