精华内容
下载资源
问答
  • 代理服务器实际上是一台服务器,介于浏览器和你要访问的网站...代理服务器按用途分类可以分成以下几种类型。 1、Http代理:最常用的代理代理客户机的http访问,主要代理浏览器访问网页,它的端口一般为80、8080、31.

    image.png

    代理服务器实际上是一台服务器,介于浏览器和你要访问的网站之间。当你通过代理服务器上网浏览时,浏览器不是直接到Web服务器中取回网页,而是首先向代理服务器发出请求,由代理服务器到要访问的网站上取回网页,然后再传送给你的浏览器。所以当你用代理服务器浏览时,网站记录下的是代理服务器地址,不会记录下你的IP地址的!目前网上的代理服务器很多,大都是免费的。

    代理服务器按用途分类可以分成以下几种类型。

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

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

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

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

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

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

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

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

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

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

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

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

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

    14、跳板代理:应用于跳板程序,可以看作一种具有动态加密的特殊socks5代理,,也可直接用于PSD软件。

    其端口一般为1813。

    据我所了解,现在市面上有很多代理IP软件、爬虫代理,都提供HTTP、HTTPS、SOCKS5三种模式。

    展开全文
  • 1 Microsoft Proxy ServerMicrosoft Proxy Server是把对Intemet的访问带入一个组织内部每一个桌面上去的一容易而又安全的方法,它包括Web Proxy服务器,Winsock Proxy服务器和Socks Proxy服务器。Web Proxy为Cache...
    1 Microsoft Proxy Server
    Microsoft Proxy Server是把对Intemet的访问带入一个组织内部每一个桌面上去的一种容易而又安全的方法,它包括Web Proxy服务器,Winsock Proxy服务器和Socks Proxy服务器。Web Proxy为Cache类代理软件,Winsock Proxy通过Winsock协议代理使LAN内的计算机好像直接连接在上一级网络上一样,实际上是通过代理服务器发送请求,但客户端要安装Microsoft Winsock Proxy Client软件。Microsoft ProxyServer 2.0是Microsoft Bank Ofice客件之一,运行在Windows NT 或Windows 2000环境下。在Windows NT Server4.0上安装时,必须安装3.0或更高版本的IIS(Internet InformationServer)及Windows Service Pack 3或更高版本的补丁。
    它容易与安全地安装,充分利用内建在Windows NTServer里的安全性,并允许网络操作员对进入或来自Intemet的访问作有效地控制。它支持全部的Internet协议包括HTTP、FTP、Gopher、RealAudio、VDOfive、IRC、邮件和新闻协议,支持IPX/SPX和TCP/IP协议来容易访问Intemet服务器以及内部网上的应用软件。它提供超高速缓存,保存网络带宽,改善客户机的响应时问,减少网络的拥挤,并且在不加重最终用户和网络管理员负担的情况下改善对网络资源的控制。管理员可以根据用户、服务、端口或IP域来允许或拒绝入站或出站的连接,可以阻止对一些指定站点的访问,但不能采用直接导入方法来设定允许访问站点地址。它与NT网络系统管理服务集成,ProxyServer生成一套Windows NT Performance Counters来监视网络上任何一台代理服务器的状态,与Windows NT ServerDirectory Services集成来用户等级的验证。井提供防火墙等Intemet安全认证特性。
     
    2 Wingate
    Wingate是Qbic公司的产品,软件分为服务器和客户两部分。服务器可运行于Win 98或Win NT平台,提供用户认证,各种网络应用层协议代理,Intemet访问控制,包过滤等服务;客户部分为一个用户登录程序Gatekeeper,用户使用它在代理服务器上进行登录,代理服务器将用户的IP地址与相应用户账号绑在一起。如果这一用户是管理员,还可以使用Gatekeeper进行远程管理。Wingate支持双网络接口,一个接口通过网络适配器卡连接内部局域网络,另一个网络接口连接Intemet,两块网卡问的IP转发要禁用,使内部网络与外部网络完全隔开,形成双宿网关防火墙。Wingate也支持单网卡,在许多校园网中,只允许部分计算机具有Intemet访问权,利用这些计算机作为代理服务器,为其他的计算机提供服务,只是它不具备防火墙的功能。Wingate除了提供FTP Proxy、Telnet Proxy、 POP3 Proxy、RealAudio Proxy、Socks Pmxy代理服务之外,还提供了DNS、DHCP、拨号管理等丰富功能。
     
    3 SyGate
    SyGate是一种支持多用户访问Intemet的软件,并且是只通过一台计算机,共享Intemet账号,达到上网的目的。SyGate能在目前诸多流行的操作系统上运行,譬如:Window s9 5、Windows98、Windows NT,Windows2000等操作系统;同时,SyGate还支持多数的Internet连接方式。在TCP/IP网络上,SyGate Client能让用户从任何一台计算机上远程监察和管理SyGate Server。SyGate诊断程序(SyGate Diagnostics)在任何时候都能帮助你确定你的系统设置以及解决网络连接的问题。SyGate设有使用日志文件以及系统设置文件,在需要的时候可轻易地查寻与检测。尽管这些功能并非是必须的,SyGate还是能以其高度的可配适性,满足任何小型网络中的多种需要。SyGate能设置防止访问一些不受欢迎的站点(“黑名单” 站点),也能设限使之只能访问某些受欢迎的站点(“白名单”站点)。SyGate利用其“端口锁定技术”(port blocking technology)防止来自Intemet的非法入侵。它支持如下协议或服务:HTTP、H1vrPS、POP3、NNTP、SMTP、TELNET、FTP (PASV模式)、IRC、ICQ、MS CHAT、RealAuclio(TCP模式)以及许多网络游戏。SyGate(r)Office Network或SyGate(r)Home Network version4.0及以后版本支持Windows 2000和Windows Me,使用Windows 2000或Windows Me作为SyGate server,则不可同时使用它的Internt连接共享(ICS)功能。SyGate(r)HomeNetwork 4.2或SyGate(r)Office Network 4.2 build 803及以后版本支持Windows XP,但不可同时使用它的Intemt连接共享功能或Intemet防火墙。
     
    4 WinProxy
    与前面介绍的代理服务器软件相比,WinProxy是一个集大成者。它集中了WinRoute和WinGate的强大功能与SyGate的易用于一身。WinProxy结合了最新的Internet连接共享(Internet Connection Sharing)的技术,是一个特别易于安装和使用的代理服务器软件,价格还比较便宜。它可以在Windows 95、Windows98、Windows NT Server 4.0或Windows NT Workstation 4.0上运行。
    WinProxy的一大特色是,提供了”Transparent Proxy”(透明代理)技术,吸取了Proxy Server和Network Address Transaltion(NAT)技术的优点,融合了Proxy Server的复杂的用户控制、缓存与防火墙技术及NAT技术的易于安装、对应用透明的特点。只需要几分钟,用户就可以安装好,并且使用。WinProxy作为一个代理服务器软件,除了保护本地局域网不受外来攻击以外,还特别提供了防病毒保护,这也是其他同类软件所没有的特征。可以选择预定义的防火墙安全设置或者自己来为自己的网络定制安全设置。在最新的版本3.0里,包含了一个可以免费使用6个月的Trend Micro的检查病毒的流行软件,提供了网络层次上的防病毒保护,能够监测到隐藏在电子邮件或者FTP下载文件中的危险分子,在它们危害到您的网络之前识别出来并拒之门外。WinProxy 3.0提供了一个很有特色、也是很符合需要的功能一阻塞广告。现在Internet上虽然商业还不是太发达,但是广告却是满天飞,有时候浏览一个页面,一大半是广告,不但浪费了网络流量,还减慢了浏览速度,比较令人讨厌。可以让用户设置这个选项来阻止广告信息的下载,使每个网页只是显示其中的内容。
    WinProxy在访问控制方面提供了灵活的机制。WinProxy提供了站点过滤的功能,可以把一些特定的不适合的站点过滤掉,不让用户访问这些站点;可以定义站点黑名单Blacklisting,黑名单中记录着受禁的IP地址、域和网络,与站点过滤结合,增加一些更多的不让用户访问的站点,如果用户企图访问IP地址列在黑名单中的主机,WinProxy将在用户的浏览器中显示出错信息:Forbidden HTML(受禁的HTM 还可以定义站点白名单,指定用户只能访问哪些站点,而不能访问其他任何站点,如果用户企图访问IP地址不列在白名单中的主机,WinProxy将在用户的浏览器中显示出错信息:Forbidden HTML(受禁的HTML)。WinProxy还提供了其他的安全措施。例如,可以依据IP地址限制特定的客户PC访问Intemet。可以通过限制用户对特定协议的访问,来进一步调节用户对Internet的访问权限。这样,就可以做到仅仅提供用户实际需要的协议,比如,可以提供Web和邮件访问,而限制FTP和Usenet访问。
    WinProxy支持所有的Internet接入方式,包括Modem、CableModem、DSL.ISDN等等。在协议的支持上,WinProxy是几个代理服务器软件中较为完备的,支持Internet上大部分的流行协议:HTTP、Real Audio/Video、Mail(SMTP and POP3)、FTP.News、Telnet.Socks.Secure Sockets(ssL).DNS.IMAP4等,还支持ISP在线服务AOL美国在线、MSN微软网等等。
     
    5 CCProxy
    CCProxy功能强大,完全支持Win98.WinMe、WinNT、Win2000、WinXp、Win2003。支持共享Modem.ISDN、ADSL、DDN、专线.蓝牙、二级代理等访问Intemeh支持HTTP.FTP、Gopher、SOCK$4/5.Telnet、Secure(HTTPS)、News(NNTP).RTSP、MMS等代理协议;支持浏览器通过H1vrP/Secure/FTP(Web)/Gopher代理上网;支持客户端使用Outlook、OutlookExpress、Foxraail等通用邮件客户端软件收发邮件;支持OICQ、ICQ、Yahoo Messenger、MSN、iMRC、联众游戏、股票软件通过HTTPS、SOCKS5代理上网;支持CuteFTP、CuteFTP Pro.WS-FTP.FXP-FTP等FTP软件通过代理上网;支持RealPlayer
    通过RTSP代理接收视频,支持MediaPlayer通过MMS代理接收视频;支持Net1rerm通过Telnet代理上网;支持Outl00k通过News代理连接新闻服务器;支持远程拨号、自动拨号、自动断线、自动关机功能;支持二级代理,可以使代理服务器通过其他代理服务器上网。双击界面上的绿色网格可以实时观测代理用户连接信息。具有简单实用的账号管理功能,可以针对不同用户定义不同的上网限制;账号管理支持IP段设置方式和自动扫描账号,建立账号更轻松;具有多种方式的账号认证方式和混和应用功能:IP地址、MAC地址、用户名密码、域账号管理。另外,还具有HTTP和SOCKS5用户验证、内置域名解析功能DNS、时间管理功能、网站过滤、缓存、带宽控制、加载代理广告条、启动时拨号、端口映射、流量计费等功能。支持WinNT/Win2K/Wir1)(P/Win2003下以NT服务运行方式。
     
    6 Microsoft lSA Server
    ISA Server Internet Security and Acceleration (ISA)Server提供了Intemet连接方案,它不仅包括特性丰富且功能强大的防火墙,还包括用于加速Internet连接的可伸缩的Web缓存。根据组织网络的设计和需要,ISA Server的防火墙和Web缓存组件可以分开配置,也可以一起安装。利用Windows 2Oo0安全数据库,ISA Server允许根据特定的通信类型,为Windows2000 Server内定义的用户、计算机和组设置安全规则,具有先进的安全特性。利用ISA Management控制台,ISA Server使防火墙和缓存管理变得很容易。ISA Management采用MMC,并且广泛使用任务板和向导,大大简化了最常见的管理程序,从而集中统一了服务器的管理,通过使用单一界面进行集中管理,可以得到更高的安全。ISA Server提供强大的基于策略的安全管理。这样,管理员就能将访问和带宽控制应用于所设置的任何策略单元,如用户、计算机、协议.内容类型、时间表和站点。所有的管理任务可以在一台计算机上执行,而配置却可以用于所有的计算机。ISA Server是一个拥有自己的软件开发工具包和脚本示例的高扩展性平台,利用它管理员可以根据网络业务需要量身定制Internet安全解决方案。
     
    代理服务器的选择
    应该说,在Windows 2000 Server环境下的现代教育网络,对其IT管理者、网络管理员和信息安全技术来说,充分考虑自己网络的安全.性能.管理.运营成本和服务,首选ISA Server Intemet Security and Acceleration (ISA)Server。
     
     
    展开全文
  • 几种常见数据库的SNMP代理配置

    千次阅读 2006-09-04 09:10:00
    1. SQL Server数据库监控SNMP代理配置SQL Server采用扩展代理的方式来实现SNMP代理功能,需要对注册表作相应修改。使得SNMP服务启动时可以自动加载扩展代理。SQL Server 2000以上的版本,安装时默认都自动注册扩展...

    1. SQL Server数据库监控SNMP代理配置

    SQL Server采用扩展代理的方式来实现SNMP代理功能,需要对注册表作相应修改。使得SNMP服务启动时可以自动加载扩展代理。
    SQL Server 2000以上的版本,安装时默认都自动注册扩展代理,无须手工配置。扩展代理DLL为sqlsnmp.dll。
    目前发现只有V1才能完全支持SQL Server的所有SNMP参数。其中的部分参数不支持Get Bulk导致。
     
    对于SQL Server 2000一下的版本,手工添加扩展代理方法如下,注意区分大小写的匹配:
    (1)    添加扩展代理注册信息
    找到HKEY_LOCAL_MACHINE/
             SYSTEM/
             CurrentControlSet/
             Services/
             SNMP/
             Parameter/
             ExtensionAgents
    新增如下字符串值:格式为:名称、类型、数值
    1 : REG_SZ : SOFTWARE/Microsoft/MSSQLServer/SNMP/CurrentVersion
    (2)    配置扩展代理DLL对于的路径
    转到HKEY_LOCAL_MACHINE/SOFTWARE
    创建主键:Microsoft/MSSQLServer/SNMP/CurrentVersion
    新增字符串值:Pathname:REG_EXPAND_SZ:d:/Program Files/Microsoft SQL Server/MSSQL/BINN/sqlsnmp.dll

    2. Sybase ASE数据库监控SNMP代理配置

    在“第三方程序/sybase”目录下带了一个Sybase ASE12.5 的SNMP子代理,它是Net-snmp的AgentX扩展代理。
    首先需要安装和配置Net-snmp代理,并且配置Net-snmp支持agentx,简单来说就是snmpd.conf文件中有一行是“master agentx”,具体参考第3章。

    2.1. Linux

    将“第三方程序/sybase”目录下的SNMP-1_0.tar通过FTP方式拷贝到目标Linux机器上,放在下面的目录中/opt/Sybase-12.5下。
    注意:Sybase安装时,标准的做法是自动创建一个用户sybase,因此Sybase的安装目录的权限属于sybase用户,建议使用sybase用户登录后来安装这个包。
    运行下面的命令解压:
    tar xvf SNMP-1_0.tar
    进入/opt/Sybase-12.5/SNMP-1_0目录,用vi打开文件snmpagent.cfg,修改其中的配置:
    #
    # Sybase SNMP Sub-Agent example configuration file
    # This file defines the behavior of the Sybase sub-agent.
    #
    # Global values affecting the behavior of the sub-agent
    #
    #   logFile=logfile
    #       Full path to the agent's logfile
    #
    #   masterAgentLocation=host:port
    #       The host and port number that the master agent is listening on for
    #       agentX connections.  When using the net-snmp agent, this is the
    #       "-x" value.
    #
    #   rpcPort=port
    #       The port to listen on for remote procedure calls.  Used by ASE or
    #       other servers to call sp_errornotify.  You would use this same value whe
    n you
    #       create an interfaces file entry for the Sybase Agent so that an ASE can
    send it
    #       an RPC.
    #
    #
    #
    # Server sections
    # Some configuration values are specific to the server that is being monitored.
    # A section is defined with the server name in brackets, followed by the configu
    ration
    # values for that server.
    #
    #   login=loginname
    #       The login name the SNMP agent will connect with.
    #
    #   password=pwd
    #       The password value the SNMP agent will connect with.
    #
    #   serverLocation=host:port
    #       The network location of a Sybase server to monitor.
    #
    #   fastPollTime=seconds
    #       The number of seconds in between collection of frequently
    #       changing data such as performance counters.
    #
    #   slowPollTime=seconds
    #       The number of seconds in between collection of slowly changing
    #       data such as configuration values.
    #
    #   description=line of text
    #       Value to return as a description of the server.
    #
    #   applUrl=line of text
    #       Value to return in applUrl field of ApplTabl in the Network Services MIB
    .  It will default
    #       to blank.
    #
    #   serverType=ase or openserver
    #       Indicates whether this is an ASE or an Open Server based application suc
    h as backup server.
    #
     
     
    #
    # Global Values
    #
    masterAgentLocation=localhost:705
    rpcPort=5210
    logFile=/opt/sybase-12.5/SNMP-1_0/SybaseAgent.log
     
     
    #
    # Server definitions
    #
    #[locahost_BACKUP]
    [linux_back]
    fastPollTime=60
    slowPollTime=3600
     
    #sybase backupserver服务启动的端口,具体可以看/opt/sybase-12.5/interfaces文件配置
    #将下面的“linux”修改成本机的IP地址
    serverLocation=linux:4200
    description=Example backup server
    serverType=openserver
     
     
    #[localhost_ASE]
    [linux]
    login=sa
    password=xxxxx #这里输入连接数据库的密码
    fastPollTime=60
    slowPollTime=3600
     
    #sybase dataserver服务启动的端口,具体可以看/opt/sybase-12.5/interfaces文件配置
    #将下面的“linux”修改成本机的IP地址
    serverLocation=linux:4100
    description=Example Sybase ASE
    serverType=ase
     
    配置完成后,运行下面命令可以启动sybase子代理
    java –jar /opt/sybase-12.5/SNMP-1_0/lib/SybaseAgent.jar –c  /opt/sybase-12.5/SNMP-1_0/snmpagent.cfg &
    为了在系统重启后能够自动启动子代理,需要在/etc/rc.d/rc.local文件中增加启动子代理的命令,要注意的是rc.local中的java命令必须写全路径,如下所示:
    /opt/sybase-12.5/shared-1_0/jre-1.2.2/bin/java -jar /opt/sybase-12.5/SNMP-1_0/lib/SybaseAgent.jar  -c /opt/sybase-12.5/SNMP-1_0/snmpagent.cfg &
    注意:snmpd和Sybase的子代理必须按照顺序启动,并且一旦其中一个退出则必须全部重启snmpd和Sybase子代理,否则子代理的工作不正常(无法返回相应的查询结果)

    3. Oracle数据库监控SNMP代理配置

    Oracle 以OracleIntelligent Agent(智能代理,AGNTSVC.EXE)作为操作系统SNMP主代理的方式来工作,将所有的标准SNMP参数请求转发给“操作系统自身的SNMP代理(如NET-SNMP或者是WINDOWS标准SNMP代理)”,并且通过SNMPPeerEncapsulator(协议转换服务,ENCSVC.EXE)与标准SNMP进行通讯。

    3.1. 部署案例

    3.1.1        Windows

    Oracle8i:8.1.3.6
    Oracle9i:2.2.4

    3.1.2        Unix

    Oracle8i:
    Oracle9i:

    3.2. 验证方法

    用OID查询工具看看能否获得如下参数值:
    Oracle参数:oraDbTablespaceSizeUsed  1.3.6.1.4.1.311.1.4.1.1.6.1.8,如果不能获取表示Oracle的SNMP参数不能获取;

    3.3. Windows配置

    SNMP版本支持,目前发现只支持SNMP V1。

    3.3.1        修改Windows标准SNMP服务端口

    需要将Windows标准SNMP服务端口修改为1161(snmp)、1162(snmptrap)。具体操作参见8.1Windows标准SNMP服务端口修改。

    3.3.2        修改Oracle配置文件

    主代理服务配置文件master.cfg(OracleOraHome90SNMPPeerMasterAgent,在ORACLE_HOME/Network/admin目录下):
    TRANSPORT       ordinary        SNMP
                                          OVER UDP SOCKET
                                          AT PORT 161  (Oracle Master Agent的服务端口)
     
    COMMUNITY       public
                                          ALLOW ALL OPERATIONS
                                          USE NO ENCRYPTION
                                        
    MANAGER         localhost    (Trap目标地址)
                         SEND ALL TRAPS
                                         WITH COMMUNITY public      
    子代理兼容协议转换服务配置文件encaps.cfg(在ORACLE_HOME/Network/admin目录下):
    AGENT AT PORT 1161 WITH COMMUNITY public   (表示子代理(Windows标准SNMP服务)使用1161端口)
    SUBTREES        1.3.6.1.2.1.1,    
                       1.3.6.1.2.1.2,
                       1.3.6.1.2.1.3,
                       1.3.6.1.2.1.4,
                       1.3.6.1.2.1.5,
                       1.3.6.1.2.1.6,
                       1.3.6.1.2.1.7,
                       1.3.6.1.2.1.8,
                        1.3.6.1.2.1.25,  (HOSTRESOURCE-MIB,必须加入,否则不支持主机监控)
                       1.3.6.1.4.1.77,
                       1.3.6.1.2.1    
    FORWARD ALL TRAPS;
     
    注意:不支持子节点。如设置了1.3.6.1.2.1,如果需要访问1.3.6.1.2.1.25下的资源,还是需要单独设置。

    3.3.3        启动

    按照如下顺序启动服务,否则可能导致取值异常。
    启动Oracle服务(OracleServiceORCL[ORACLE.EXE]),当已经启动时忽略此项
     
    启动Oracle主代理(OracleOraHome90SNMPPeerMasterAgent[AGNTSVC.EXE])
    启动 OEM代理服务(OracleOraHome90Agent [dbsnmp.exe])
    启动Oracle协议转换服务(OracleOraHome90SNMPPeerEncapsulator[ENCSVC.EXE])
    启动Windows SNMP标准服务
     
    注意:如果需要自动启动Oracle及其SNMP服务,只需要将上面的服务全部设置为“自动”则可。

    3.4. Linux配置

    以AS4(Linux 2.6.9-5.EL,红帽企业 Linux 4)为例进行说明。
    SNMP版本支持,目前发现只支持SNMP V1。

    3.4.1        关闭SELinux

    红帽企业 Linux 4 包括了一个 SELinux 的实现。SELinux 代表了用户,程序以及进程间相互交流的主要变化。在这个发行版本中,SELinux 被默认安装并被开启使用,需要关闭,否则无法正确采集主机监控信息。
    正确配置如下:
    [root@AS4 selinux]# more /etc/selinux/config
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - SELinux is fully disabled.
    SELINUX=Disabled (不能设置为enforcing)
     
    # SELINUXTYPE= type of policy in use. Possible values are:
    #       targeted - Only targeted network daemons are protected.
    #       strict - Full SELinux protection.
    SELINUXTYPE=targeted

    3.4.2        安装NET-SNMP

    使用如下命令可以查出安装的NET-SNMP包,rpm -qa | grep snmp
    AS4自带如下NET-SNMP包:
    net-snmp-libs-5.1.2-11
    net-snmp-5.1.2-11
    net-snmp-utils-5.1.2-11
    对于别的平台,参见3.2Linux平台上的安装配置。

    3.4.3        修改Linux标准SNMP服务端口(此项需要验证修改的必要性?)

    保证操作系统自身的SNMP不占用标准端口(161、162),以空出给作为主代理的ORACLE使用。
    其中的配置文件为“/etc/services”,类似于Windows标准SNMP服务端口的修改。
    此处设置如下:
    snmp         1161/udp #SNMP (修改本地SNMP服务端口为1161,只要不是161则可)
    snmptrap   1162/udp  snmp-trap #SNMP trap(修改本地SNMP TRAP服务端口为1162,只要不是162则可)

    3.4.4        配置NET-SNMP

    参见3.2.2配置Net-SNMP代理的设置。
    其中必须确保已将NET-SNMP的端口设置为161以外的端口,系统缺省为161,可以在/etc/snmp/snmpd.conf中新增如下行来修改:
    agentaddress  1161
     
    注意:/usr/sbin/snmpd加载配置文件的搜索顺序是“/etc/snmp/snmpd.conf  /usr/share/snmp/snnpd.conf”

    3.4.5        安装Oracle智能代理

    3.4.5.1编译智能代理

    (1)   stop all the instances of this ORACLE_HOME,stop listener
    (2)   relink the agent
    #relink oemagent
    (3) you should find agentctl and dbsnmp in $ORACLE_HOME/bin, it's date show they are new files

    3.4.5.2运行root.sh,修改dbsnmp的属性

    成功安装智能代理后,必须运行root.sh脚本,以修改智能代理的权限,以更新或者是创建一份oratab文件,以保证dbsnmp能够
    #cd $ORACLE_HOME/bin
    #ls -al dbsnmp
            -rwsr-s---   1 root     g651     1497980 Jun 12 21:04 dbsnmp
    紫色部分表明已经成功执行了root.sh脚本。

    3.4.5.3修改Oracle配置文件

    与Windows下的Oracle配置基本相同。
    主代理服务配置文件CONFIG.master:
    TRANSPORT       ordinary        SNMP
                                          OVER UDP SOCKET
                                          AT PORT 161  (Oracle Master Agent的服务端口)
     
    COMMUNITY       leagsoft
                                          ALLOW ALL OPERATIONS
                                          USE NO ENCRYPTION
                                        
    MANAGER         localhost    (Trap目标地址)
                         SEND ALL TRAPS
                                         WITH COMMUNITY leagsoft    
    子代理兼容协议转换服务配置文件CONFIG.encaps:
    AGENT AT PORT   1161 WITH COMMUNITY leagsoft  (表示子代理(Windows标准SNMP服务)使用1161端口)
            SUBTREES            1.3.6.1.2.1.1,
                                 1.3.6.1.2.1.2,
                                 1.3.6.1.2.1.3,
                                 1.3.6.1.2.1.4,
                                 1.3.6.1.2.1.5,
                                 1.3.6.1.2.1.6,
                                 1.3.6.1.2.1.7,
                                 1.3.6.1.2.1.8,
                                 1.3.6.1.2.1.25  (HOSTRESOURCE-MIB,必须加入,否则不支持主机监控)
            FORWARD ALL TRAPS;

    3.4.6        启动Oracle智能代理

    按照如下顺序启动服务,否则可能导致取值异常。
    (1)    启动Oracle主代理以及操作相同标准代理
    1.首先通过如下命令来确认相应代理没有启动
    #ps –d | grep snmpd
    #ps –d | grep peer
    2. cd $ORACLE_HOME/network/snmp/peer
    3. verify that a script start_peer exists.
      将start_peer中启动语句修改为
    4. su root
    5. ./start_peer -a (starts the Master Peer agent, the encapsulator and the native SNMP daemon, 可以使用./start_peer –help 来获得帮助信息)
    可以通过如下语句来检查是否启动成功
    #ps –d | grep snmpd
    #ps –d | grep peer
    6. Exit from root.
     
    如果snmpd启动失败,则检查是否不支持
    /usr/sbin/snmpd –c snmpd.conf –p 1161的启动方式,如果不支持,需要修改root.sh脚本,找到最后一行,去掉-p $SNMPD_PORT的命令行参数。
    本AS4的应用环境就需要删除此项不支持的参数。
    (2)    启动智能代理
    $cd ORACLE_HOME/bin
    $agentctl start
    Then use ps -ef|grep dbsnmp
    to check the agent started successful or not. 
    展开全文
  • 代理(Proxy)是一设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要...

    个人博客请访问 http://www.x0100.top  

    1.代理模式

    代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.
    这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法

    举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理人(经纪人)来解决.这就是代理思想在现实中的一个例子

    用图表示如下:

     

    1.1.静态代理

    静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类.

    下面举个案例来解释:
    模拟修改动作,定义一个修改动作的接口:IPersonDao.java,然后目标对象实现这个接口的方法PersonDao.java,此时如果使用静态代理方式,就需要在代理对象(PersonDaoProxy.java)中也实现IPersonDao接口.调用的时候通过调用代理对象的方法来调用目标对象.
    需要注意的是,代理对象与目标对象要实现相同的接口,然后通过调用相同的方法来调用目标对象的方法

    代码示例:

     

    接口:IPersonDao.java

     

    public interface IPersonDao {
    	void update();
    }

    目标对象:PersonDao.java

    public class PersonDao implements IPersonDao{
    
    	public void update() {
    		// TODO Auto-generated method stub
    		System.out.println("修改个人信息");
    	}
    }

    代理对象:PersonDaoProxy.java

    public class PersonDaoProxy implements IPersonDao{
    	private IPersonDao target;
    	
    	public PersonDaoProxy(IPersonDao target){
    		this.target = target;
    	}
    	@Override
    	public void update() {
    		System.out.println("修改个人信息前记录日志");
    		this.target.update();
    		System.out.println("修改个人信息后记录日志");
    	}
    
    }

    测试类:App.java

    public class App {
    	public static void main(String[] args){
    		PersonDao p = new PersonDao();
    		PersonDaoProxy pProxy = new PersonDaoProxy(p);
    		pProxy.update();
    	}
    }

    静态代理总结:
    1.可以做到在不修改目标对象的功能前提下,对目标功能扩展.
    2.缺点:

    • 因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,类太多.同时,一旦接口增加方法,目标对象与代理对象都要维护.

    如何解决静态代理中的缺点呢?答案是可以使用动态代理方式

    1.2.动态代理

    动态代理有以下特点:
    1.代理对象,不需要实现接口
    2.代理对象的生成,是利用JDK的API,动态的在内存中构建代理对象(需要我们指定创建代理对象/目标对象实现的接口的类型)
    3.动态代理也叫做:JDK代理,接口代理

    JDK中生成代理对象的API
    代理类所在包:java.lang.reflect.Proxy
    JDK实现代理只需要使用newProxyInstance方法,但是该方法需要接收三个参数,完整的写法是:

     

    static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces,InvocationHandler h )

    注意该方法是在Proxy类中是静态方法,且接收的三个参数依次为:

    • ClassLoader loader,:指定当前目标对象使用类加载器,获取加载器的方法是固定的
    • Class<?>[] interfaces,:目标对象实现的接口的类型,使用泛型方式确认类型
    • InvocationHandler h:事件处理,执行目标对象的方法时,会触发事件处理器的方法,会把当前执行目标对象的方法作为参数传入

    代码示例:

     

    接口类IPersonDao.java以及接口实现类,目标对象PersonDao是一样的,没有做修改.在这个基础上,增加一个代理工厂类(ProxyFactory.java),将代理类写在这个地方,然后在测试类(需要使用到代理的代码)中先建立目标对象和代理对象的联系,然后使用代理对象的中同名方法

     

    InvocationHandler实现类:PersonInvocation.java

    public class PersonInvocation implements InvocationHandler{
    	Object target;
    	public PersonInvocation(Object target){
    		super();
    		this.target = target;
    	}
    	@Override
    	public Object invoke(Object proxy, Method method, Object[] arg2)throws Throwable {
    		// TODO Auto-generated method stub
    		System.out.println("修改个人信息前记录日志");
    		method.invoke(target);
    		System.out.println("修改个人信息后记录日志");
    		return null;
    	}
    
    }

     

    代理类:PersonProxy.java

     

    public class PersonProxy {
    	private Object target;
    	private InvocationHandler ph;
    	public PersonProxy(Object target,InvocationHandler ph){
    		this.target = target;
    		this.ph = ph;
    	}
    	
    	public Object getPersonProxy(){
    		Object p = Proxy.newProxyInstance(target.getClass().getClassLoader(),target.getClass().getInterfaces(),ph);
    		return p;
    	}
    }

    如果业务不复杂也可以将InvocationHandler的实现类写入Proxy类中:

    public class PersonProxy {
    	private Object target;
    	private InvocationHandler ph;
    	public PersonProxy(Object target,InvocationHandler ph){
    		this.target = target;
    		this.ph = ph;
    	}
    	
    	public Object getPersonProxy(){
    		Object p = Proxy.newProxyInstance(target.getClass().getClassLoader(),target.getClass().getInterfaces(),
    				new InvocationHandler() {
                @Override
                public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                    System.out.println("开始事务2");
                    //执行目标对象方法
                    Object returnValue = method.invoke(target, args);
                    System.out.println("提交事务2");
                    return returnValue;
                }
            });
    		return p;
    	}
    }

    测试类:App.java

    /**
     * 测试类
     */
    public class App {
        public static void main(String[] args) {
            // 目标对象
            IUserDao target = new UserDao();
            // 【原始的类型 class cn.itcast.b_dynamic.UserDao】
            System.out.println(target.getClass());
    
            // 给目标对象,创建代理对象
            IUserDao proxy = (IUserDao) new ProxyFactory(target).getProxyInstance();
            // class $Proxy0   内存中动态生成的代理对象
            System.out.println(proxy.getClass());
    
            // 执行方法   【代理对象】
            proxy.save();
        }
    }

    总结:

     

    代理对象不需要实现接口,但是目标对象一定要实现接口,否则不能用动态代理

     

     

    1.3.Cglib代理

    上面的静态代理和动态代理模式都是要求目标对象是实现一个接口的目标对象,但是有时候目标对象只是一个单独的对象,并没有实现任何的接口,这个时候就可以使用以目标对象子类的方式类实现代理,这种方法就叫做:Cglib代理

    Cglib代理,也叫作子类代理,它是在内存中构建一个子类对象从而实现对目标对象功能的扩展.

    • JDK的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口,如果想代理没有实现接口的类,就可以使用Cglib实现.
    • Cglib是一个强大的高性能的代码生成包,它可以在运行期扩展java类与实现java接口.它广泛的被许多AOP的框架使用,例如Spring AOP和synaop,为他们提供方法的interception(拦截)
    • Cglib包的底层是通过使用一个小而块的字节码处理框架ASM来转换字节码并生成新的类.不鼓励直接使用ASM,因为它要求你必须对JVM内部结构包括class文件的格式和指令集都很熟悉.

    Cglib子类代理实现方法:

    1.需要引入cglib的jar文件,但是Spring的核心包中已经包括了Cglib功能,所以直接在Mava中添加pring-core.jar即可.如果非maven工程需要引入cglib.jar 和asm.jar;

    2.引入功能包后,就可以在内存中动态构建子类
    3.代理的类不能为final,否则报错
    4.目标对象的方法如果为final/static,那么就不会被拦截,即不会执行目标对象额外的业务方法.

    代码示例:

    目标对象类:PersonDao.java

    public class PersonDao {
    
    	public void update() {
    		// TODO Auto-generated method stub
    		System.out.println("修改个人信息");
    	}
    }

    Cglib代理工厂:ProxyFactory.java

    public class ProxyFactory implements MethodInterceptor{
    	private Object target;
    	public ProxyFactory(Object target){
    		this.target = target;
    	}
    	
    	//给目标对象创建一个代理对象
    	public Object getProxyInstance(){
    		//工具类
    		Enhancer en = new Enhancer();
    		//设置父类
    		en.setSuperclass(target.getClass());
    		//设置回调函数
    		en.setCallback(this);
    		//创建子类代理对象
    		return en.create();
    	}
    	
    	@Override
    	public Object intercept(Object obj, Method method, Object[] arg2,MethodProxy proxy) throws Throwable {
    		// TODO Auto-generated method stub
    		System.out.println("开始事务...");
    		Object returnValue = method.invoke(target, arg2);
    		System.out.println("提交事务...");
    		return returnValue;
    	}
    
    }

    测试类:

    public class App {
    	
    	public static void main(String[] args){
    		PersonDao target = new PersonDao();
    		ProxyFactory proxy = new ProxyFactory(target);
    		PersonDao personPproxy = (PersonDao)proxy.getProxyInstance();
    		//PersonDao personPproxy = (PersonDao)new ProxyFactory(target).getProxyInstance();
    		personPproxy.update();
    	}
    	
    }

    在Spring的AOP编程中:
    如果加入容器的目标对象有实现接口,用JDK代理

     

    如果目标对象没有实现接口,用Cglib代理

    展开全文
  • 代理的三实现方式

    千次阅读 2018-07-23 18:05:34
    代理(Proxy)是一设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 简单来说就是说代理就是增强方法,...
  • Android Hook Activity 的几种姿势

    万次阅读 热门讨论 2018-08-06 19:35:28
    这篇博客已 API 27 的源码为基础分析 前言 在上一篇文章中,我们介绍了 Hook 的要点 Hook 的选择点:静态变量和...选择合适的代理方式,如果是接口可以用动态代理。 偷梁换柱——用代理对象替换原始对象。 And...
  • 几种常用的设计模式介绍

    万次阅读 多人点赞 2013-11-16 18:17:27
    几种常用的设计模式介绍 1.  设计模式的起源 最早提出“设计模式”概念的是建筑设计大师亚力山大Alexander。在1970年他的《建筑的永恒之道》里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被...
  • 几种常见架构模式

    千次阅读 2015-12-01 00:19:10
    本节说的是几种常见架构模式。 AD: 6.2.2 几种常见架构模式 前文讲过,在实践中,人们总结出了一些常用的软件系统结构高层模式,以供应用系统设计时参考。这些模式包括:单服务两层/多层C/S;MVC结构
  • linxu命令行的几种浏览器

    万次阅读 2017-09-12 08:46:22
    最近几天使用了好几种Linux命令行浏览器,觉得很不错,例如curl、elinks、w3m等等。
  • 秒懂Java代理与动态代理模式

    万次阅读 多人点赞 2018-06-30 17:08:23
    版权申明】非商业目的可自由转载 博文地址: 出自:shusheng007 概述 什么是代理模式?解决什么问题(即为什么需要)?什么是静态代理?... 定义:为其他对象提供一种代理以控制对这个对象的访问 ...
  • SSH的几种玩法

    千次阅读 2016-09-02 14:55:26
    得到一台Linux的服务器,我们可以进行以下几种玩法: 先讲一讲几个参数: -f 要求 ssh 在执行命令前退至后台. 它用于当 ssh 准备询问口令或密语, 但是用户希望它在后台进行. 该选项隐含了 -n 选项. 在远端机器上...
  • 几种访问控制技术

    千次阅读 2016-08-15 16:32:16
    现阶段几种常用的访问控制技术  1,.htaccess .htaccess文件是Apache服务器上的一个设置文件。它是一个文本文件,可以使用任何文本编辑器进行编写。. htaccess文件提供了针对目录改变配置的方法,即通过在一个...
  • F5几种会话保持机制

    千次阅读 2019-05-20 11:57:28
    F5几种会话保持机制 1.什么是会话保持?  在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互...
  • 通过MULE集成服务的几种方式

    千次阅读 2013-09-10 17:51:28
    6. 配置模式 Mule 3.0版本提供了“pattern”的机制。Pattern总结了实际使用过程中的常见场景,以简化的服务配置方式提供。 6.1 简单服务模式...简单服务模式通过simple-service 元素配置,主要的元素属性包括
  • 几种常见音视频传输协议使用总结

    千次阅读 2020-10-31 22:55:34
    RTSP、RTMP、HTTP、SIP协议是常见的几种音视频解决方案传输协议。 (1)、RTMP协议 RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/...
  • 常见的几种开源镜像仓库介绍

    万次阅读 2018-11-23 11:56:42
    常见的几种开源镜像仓库介绍1、Docker Registry2、VMware Harbor安装部署Harbor3、Sonatype Nexus4、SUSE Portus以上几种方案的特性对比 1、Docker Registry Docker Registry是最流行的开源私有镜像仓库,以镜像格式...
  • 代理高匿性判断方法

    万次阅读 2018-11-15 15:54:05
    代理主要包括透明代理,普通匿名代理,欺骗性代理及高匿代理等,本文将阐述如何通过请求头区分这几种代理
  • spring security控制权限的几种方法

    万次阅读 热门讨论 2012-02-11 10:38:37
    使用Spring Security3的四方法概述  那么在Spring Security3的使用中,有4方法:  一是全部利用配置文件,将用户、权限、资源(url)硬编码在xml文件中,已经实现过,并经过验证;  二是用户和权限用...
  • 几种特殊的IPV4地址

    千次阅读 2017-04-12 20:24:50
    在我们平时进行IPv4地址配置和管理时,经常遇到这么几种特殊的IPv4地址,其中一种最重要的IPv4地址就是私网IP地址,也就是通常所说的局域网IP地址或者专用网络IP地址,还有像以0、127、169开头的IPv4地址。...
  • response的contentType 几种类型

    万次阅读 多人点赞 2019-06-10 15:44:44
    常遇到下面的几种情况: 1、 服务端需要返回一段普通文本给客户端,Content-Type="text/plain" 2 、服务端需要返回一段HTML代码给客户端 ,Content-Type="text/html" 3 、服务端需要返回一段XML代码给客户端 ...
  • 常见的几种设计模式

    千次阅读 多人点赞 2019-02-28 09:45:27
    优点:缺点:应用场景:适配器模式(Adapter Pattern)定义类适配器对象适配器优点类适配器优缺点对象适配器优缺点适用环境职责链模式分析实例审批假条职责链模式的优点职责链模式的缺点纯与不纯的职责链模式代理模式...
  • 跨域请求的几种方式

    千次阅读 2016-09-22 19:06:15
    跨域的几种方式说到跨域,我们需要了解为什么要跨域?是因为同源策略的存在?何谓同源策略呢?同源策略同源策略是浏览器上为安全性考虑实施的非常重要的安全策略。何谓同源: URL由协议、域名、端口和路径组成,如果两...
  • 前后端常见的几种鉴权方式

    万次阅读 多人点赞 2018-01-03 15:53:31
    常见的授权四授权方式HTTP Basic Authentication,session-cookie,token(jwt),OAuth(开放授权)
  • Linux下几种文件传输命令

    万次阅读 2018-11-07 15:16:02
    Linux下几种文件传输命令 sz rz sftp scp    最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具。由于它是基于SSH的,会在传输过程...
  • Nginx的几种负载均衡策略

    千次阅读 2017-06-15 15:39:12
    实现Nginx的几种负载均衡策略,下面连接是我的一些总结,大家可以参考一下。不足之处还请批评指针。 http://blog.sina.com.cn/s/blog_149e9d2ec0102x10c.html
  • java中几种常用的设计模式

    万次阅读 2015-11-30 13:07:13
    java中常用的几种设计模式: 创建型:简单工厂模式(并不是23种设计模式之一)、工厂方法、抽象工厂模式、单例模式、生成器模式和原型模式结构型:适配器模式adapter、桥接模式bridge、组合器模式component、装饰...
  • 几种常见的编码格式

    万次阅读 2018-07-18 15:05:09
    前面介绍了几种常见的编码格式,这里将以实际例子介绍 Java 中如何实现编码及解码,下面我们以“I am 君山”这个字符串为例介绍 Java 中如何把它以 ISO-8859-1、GB2312、GBK、UTF-16、UTF-8 编码格式进行编码的。...
  • 什么是动态代理?假如我有一个user对象,该对象里面有4个方法,增、删、改、查,外界能直接调用这4个方法吗?拿百度来说,你能随便对百度上的内容进行增、删、改、查操作吗?你最多能执行查的操作,增、删、改的操作...
  • Java程序调试的几种方法

    千次阅读 2017-09-04 10:57:07
    动态代理是一个特定的Java特性,它允许开发者引入proxy类,加进某一给定类之前,并通过某一给定接口截获所有调用。你可以在很短时间内用一个普通代理设置一个虚拟事件处理器,来查看事件发生顺序。当需要理解事件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 220,953
精华内容 88,381
关键字:

代理包括几种