- 浏览: 1613489 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (603)
- T_java (145)
- T_script&ASP (51)
- T_C/C++ (25)
- T_PowerBuilder (11)
- T_Database (53)
- T_odoo (7)
- T_应用服务器 (50)
- T_专_条形码 (6)
- T_专_负载均衡器 (4)
- T_操作系统 (94)
- T_信息安全 (41)
- T_专_搜索引擎 (14)
- T_L_PHP (58)
- T_L_Delphi (18)
- T_L_.NET、C#、VisualStudio (25)
- T_L_Objective-C (6)
- T_移动开发 (53)
- T_网络 (109)
- T_大数据 (2)
- T_嵌入式 (2)
- T_小众技术 (24)
- T_未分类 (58)
- L_旅游印记 (1)
- L_生活随笔 (48)
- L_中国文化 (18)
- L_户外与生存 (0)
最新评论
-
csbean4004:
不知道哪传来得恶习,发帖子不好好发,故意弄错一些东西,很讨厌
让HTML5支持后置摄像头 -
withthewind:
终于找到一个可以用的了。。。
如何用VBA取得Word文档中的标题前面的序号 -
busbby:
兄弟,无法下载,说文件不完整
一个好用的Outlook ost格式文件转pst文件的工具 -
yijavakevin:
密码啊~解压密码多少?
一个二维条形码组件 -
vipbooks:
你给的那个链接根本无法下载,跳到官网看了下最新版12M,但点下 ...
十步以内完成精细web打印
这几天学习iRule,参考了F5网站上不少例子,顺便也把2005年iRule大赛的部分获奖iRule贴一下,一是备忘,二是供有需要的兄弟参考。
Tcl/Tk 代码
- F5网站上iRule大赛的获奖iRule
- rule web_request {
- when HTTP_REQUEST {
- set ramcache_enable 0
- if { [matchclass [IP::remote_addr] equals $::banned_ips] } {
- reject
- }
- if { [matchclass [HTTP::header Host] equals $::spec_hosts] } {
- if { [HTTP::header Host] starts_with "stat" } {
- set ramcache_enable 1
- use pool web_stat
- }
- elseif { [HTTP::header Host] starts_with "userpic" } {
- use pool web_proxy
- }
- elseif { [HTTP::header Host] starts_with "files" } {
- use pool web_proxy
- }
- elseif { [HTTP::header Host] starts_with "mrtg" } {
- use pool web_mrtg
- }
- }
- elseif { [HTTP::uri] starts_with "/userpic/" } {
- if { [HTTP::header If-Modified-Since] contains ":" } {
- HTTP::respond 304
- } else {
- use pool web_proxy
- }
- }
- elseif { [HTTP::uri] starts_with "/directory.bml" } {
- use pool web_directory
- }
- elseif { [matchclass [HTTP::uri] starts_with $::static_dirs] } {
- set ramcache_enable 1
- use pool web_static
- }
- elseif { [HTTP::uri] starts_with "/interface/atom" } {
- use pool nokia_lifeblog
- } else {
- use pool web_proxy
- }
- }
- when CACHE_REQUEST {
- if { $ramcache_enable == 0 } {
- CACHE::disable
- }
- }
- }
- =======================================
- when RULE_INIT {
- set ::maxconnect 200
- set ::freezetime 600
- array set ::users { }
- array set ::spammers { }
- }
- when CLIENT_ACCEPTED {
- set clientip [IP::remote_addr]
- set now [clock second]
- if { [ info exists ::spammers($clientip) ] } {
- set timeelapsed [expr $now - $::spammers($clientip)]
- if { $::freezetime > $timeelapsed } {
- incr ::users(nb,$clientip)
- reject
- return
- }
- else {
- if { [ $::users(nb,$clientip) ] > $::maxconnect } {
- # this guy is still trying to spam, even when blacklisted
- # we keep him blacklisted, but we reset the counters
- set ::spammers($clientip) $now
- set ::users(nb,$clientip) 1
- set ::users(time,$clientip) $now
- log "client $clientip remains in spammerslist $::users(nb,$clientip
- connections rejected in the last $::freezetime seconds"
- reject
- return
- }
- else {
- unset ::spammers($clientip)
- log "client $clientip removed from spammerslist $::users(nb,$clientip) connections rejected in the last $::freezetime seconds"
- }
- }
- }
- if { [ info exists ::users(nb,$clientip)] } {
- log "autre passage $clientip $now $::users(nb,$clientip)"
- incr ::users(nb,$clientip)
- if { $::users(nb,$clientip) > $::maxconnect } {
- set ::spammers($clientip) $now
- set ::users(nb,$clientip) 1
- set ::users(time,$clientip) $now
- log "client $clientip added to spammerslist $::users(nb,$clientip connections accepted in the last $::freezetime seconds"
- reject
- return
- }
- } else {
- # First Time we see this clientip
- set ::users(nb,$clientip) 1
- set ::users(time,$clientip) $now
- log "PREMIER CLIENT $clientip $now"
- }
- pool mail-smtp
- }
- ============================================
- when RULE_INIT {
- # F5 iRule for performing rewriting of
- #
- # - HTTP-request URI:s
- #
- # and
- #
- # - HTTP-response 'Location' headers
- # (redirect rewrite's)
- #
- # Define URI rewrite rules here
- set ::request_rewrite [list "/a /b" "/foo /bar"];
- # Define Redirect Rewrite rules here
- set ::redirect_rewrite [list "http://10.1.2.3/a /b"]
- }
- when HTTP_REQUEST {
- set uri [HTTP::uri];
- log LOCAL0.debug "URI=$uri";
- # check all 'request_rewrite' rules..
- # break when first match is found..
- foreach x $::request_rewrite {
- set a [getfield $x " " 1];
- log LOCAL0.debug "? uri start_with '$a' ...";
- if { $uri starts_with $a } {
- set b [getfield $x " " 2];
- log LOCAL0.debug "...yes, replace '$a' with '$b'";
- set len [string length $a];
- set tmp [substr $uri $len];
- set uri "${b}${tmp}";
- log LOCAL0.debug "URI=$uri";
- HTTP::uri $uri;
- break;
- }
- }
- }
- when HTTP_RESPONSE {
- # check if redirect (HTTP status 3xx)
- # and 'Location:' header exists...
- #
- # return immediately if
- # there is nothing to rewrite
- if { [HTTP::status] starts_with "3" } {
- set location [HTTP::header "Location"];
- if { $location == "" } {
- return;
- }
- } else {
- return;
- }
- # check all 'ProxyPassReverse' entries..
- # and 'break' when first match is found...
- log LOCAL0.debug "Location: $location (check for rewrites)";
- foreach x $::redirect_rewrite {
- set a [getfield $x " " 1];
- log LOCAL0.debug " ? starts_with '$a' ... ";
- if { $location starts_with $a } {
- set b [getfield $x " " 2];
- log LOCAL0.debug "...yes, replace '$a' with '$b'";
- set len [string length $a];
- set tmp [substr $location $len];
- set location "${b}${tmp}";
- log LOCAL0.debug "Location: $location";
- HTTP::header replace "Location" $location;
- break;
- }
- }
- }
- ==========================================
- rule my-iRule {
- when CLIENT_ACCEPTED {
- if { [active_members my-pool] == 0 } {
- discard
- } else {
- use pool my-pool
- if { ([IP::client_addr] eq "1.1.1.8") || ([IP::client_addr] eq "1.2.1.8") } {
- persist none
- } else {
- persist source_addr 1800
- }
- }
- }
- }
- ======================================
- when HTTP_REQUEST {
- set DEBUG 1
- if { $FINISHED } {
- return
- }
- # REDIRECTS for So. Cal users
- set refer_host [URI::host [HTTP::header "Referer"]]
- log local0. "Referer: ${refer_host} IP: [IP::remote_addr]"
- if { [IP::remote_addr] starts_with "10.120." } {
- if { not (${refer_host} starts_with "intranet") } {
- if { [HTTP::uri] == "/" || [HTTP::uri] == "" || [HTTP::uri] == "/our/intranet/site"} {
- if { $DEBUG } {
- log local0. "SoCal redirect: [ IP::remote_addr ]"
- log local0. "URI: [ HTTP::uri ]"
- log local0. "Referer: ${refer_host}"
- }
- HTTP::redirect "http://${host}/intranet/socal"
- set FINISHED 1
- return
- }
- }
- }
- }
- ==========================================
- when HTTP_REQUEST {
- ##
- ## Default Variables
- ##
- set uriValue [HTTP::uri]
- set srcAddr [IP::remote_addr]
- set internalHost http://internal.example.com
- set sendCacheControl 0
- # 1 is compressed, 0 is not
- set compress_client_ok 1
- ##
- ## Compression
- ##
- if { $srcAddr starts_with "10.1.1." } {
- # Disabling Compression for Client 1
- set compress_client_ok 0
- } elseif { $srcAddr starts_with "10.2.2." } {
- # Disabling Compression for Client 2
- set compress_client_ok 0
- } elseif { $srcAddr starts_with "10.3.3." } {
- # Disabling Compression for Client 3
- # Except for NPS
- if { $uriValue starts_with "/nps/" } {
- set compress_client_ok 1
- } else {
- set compress_client_ok 0
- }
- } elseif { $srcAddr starts_with "192.168.113." } {
- # The lab for testing
- set compress_client_ok 0
- }
- ##
- ## Generic Redirects
- ##
- if { $uriValue starts_with "/forme" } {
- HTTP::uri /index.html
- } elseif { $uriValue starts_with "/formf" } {
- HTTP::uri /index_f.html
- } elseif { $uriValue starts_with "/fape" } {
- HTTP::uri /fapindex.html
- } elseif { $uriValue starts_with "/fapf" } {
- HTTP::uri /fapindex_f.html
- } elseif { $uriValue starts_with "/vace" } {
- HTTP::uri /vacindex.html
- } elseif { $uriValue starts_with "/vacf" } {
- HTTP::uri /vacindex_f.html
- } elseif { $uriValue starts_with "/idcd" } {
- HTTP::uri /idcd.html
- } elseif { $uriValue starts_with "/johnson" } {
- HTTP::uri /johnsonindex.html
- } elseif { $uriValue starts_with "/pplus" } {
- HTTP::redirect $internalHost/forms90/f90nosec?config=pplus
- }
- ##
- ## Start the WebSphere 4 Configuration
- ##
- if { $uriValue starts_with "/sso/" } {
- HTTP::header replace HOST sso-app.example.com:8000
- pool was
- } elseif { $uriValue starts_with "/nps/" } {
- HTTP::header replace HOST nps-app.example.com:8000
- pool was
- } elseif { $uriValue starts_with "/qar/" } {
- HTTP::header replace HOST qar-app.example.com:8000
- pool was-qar
- } elseif { $uriValue starts_with "/prs" } {
- HTTP::header replace HOST prs-app.example.com:8000
- pool was
- } elseif { $uriValue starts_with "/inqportal/" } {
- HTTP::header replace HOST ip-app.example.com:8000
- pool was
- } elseif { $uriValue starts_with "/gmp/" } {
- HTTP::header replace HOST gmp-app.example.com:8000
- pool was
- } elseif { $uriValue starts_with "/lws/" } {
- HTTP::header replace HOST lw-app.example.com:8000
- pool was
- } elseif { $uriValue starts_with "/oms/" } {
- HTTP::header replace HOST om-app.example.com:8000
- pool was
- } elseif { $uriValue starts_with "/es/" } {
- if { $uriValue contains "u_.uhtml" } {
- set sendCacheControl 1
- }
- pool was-es
- } elseif { $uriValue starts_with "/wsso/" } {
- regsub "/wsso/" $uriValue "/" newURI
- HTTP::header replace HOST abcclogin-app.example.com:8000
- HTTP::uri $newURI
- pool was
- } elseif { $uriValue starts_with "/ABCCLogin/" } {
- HTTP::header replace HOST abcclogin-app.example.com:8000
- pool was
- }
- ##
- ## Starting the Oracle Application Server Configuration
- ##
- if { $uriValue starts_with "/discoverer/osso_login_success" } {
- regsub "/discoverer/" $uriValue "/" newURI
- HTTP::uri $newURI
- pool oas-disco
- } elseif { $uriValue starts_with "/discoverer/osso_logout_success" } {
- regsub "/discoverer/" $uriValue "/" newURI
- HTTP::uri $newURI
- pool oas-disco
- } elseif { $uriValue starts_with "/osso_login_success" } {
- if { [HTTP::header refer] contains "/discoverer/" } {
- pool oas-disco
- } else {
- pool oas-app
- }
- } elseif { $uriValue starts_with "/osso_logout_success" } {
- if { [HTTP::header refer] contains "/discoverer/" } {
- pool oas-disco
- } else {
- pool oas-app
- }
- } elseif { $uriValue starts_with "/portal/pls/" } {
- regsub "/portal/" $uriValue "/" newURI
- HTTP::uri $newURI
- pool oas-app
- } elseif { $uriValue starts_with "/infra/pls/" } {
- regsub "/infra/" $uriValue "/" newURI
- HTTP::uri $newURI
- pool oas-infra
- } elseif { $uriValue starts_with "/sso_mes/forms90/" } {
- regsub "/sso_mes/" $uriValue "/" newURI
- HTTP::uri $newURI
- pool oas-app
- } elseif { $uriValue starts_with "/sso_cmf/forms90/" } {
- regsub "/sso_cmf/" $uriValue "/" newURI
- HTTP::uri $newURI
- pool oas-app
- } elseif { $uriValue starts_with "/orasso/" } {
- regsub "/orasso/" $uriValue "/pls/orasso" newURI
- HTTP::uri $newURI
- pool oas-infra
- } elseif { $uriValue starts_with "/reports" } {
- pool oas-app
- } elseif { $uriValue starts_with "/forms90" } {
- pool oas-app
- } elseif { $uriValue starts_with "/discoverer" } {
- pool oas-disco
- } elseif { $uriValue starts_with "/jinitiator" } {
- pool oas-app
- } elseif { $uriValue starts_with "/vac/" } {
- pool oas-app
- } elseif { $uriValue starts_with "/icons/" } {
- pool oas-app
- } elseif { $uriValue starts_with "/images/" } {
- pool oas-app
- } elseif { $uriValue starts_with "/pls/" } {
- pool oas-infra
- }
- ##
- ## Starting the WebSphere 6 Configuration
- ##
- if { $uriValue starts_with "/UWAWeb/" } {
- pool was6
- } elseif { $uriValue starts_with "/RAWeb/" } {
- pool was6
- } elseif { $uriValue starts_with "/PlanAA" } {
- pool was6
- } elseif { $uriValue starts_with "/GroupCCWeb/" } {
- pool was6
- } elseif { $uriValue starts_with "/AgentBonusWeb/" } {
- pool was6
- } elseif { $uriValue starts_with "/ftp/" } {
- pool was6
- } elseif { $uriValue starts_with "/PMP/" } {
- pool was6
- }
- ##
- ## End of HTTP_REQUEST Configuration
- ##
- }
- when HTTP_RESPONSE {
- ##
- ## Default Variables for this Section
- ##
- set location [HTTP::header location]
- set destHost "//internal.example.com"
- set sunHost "//bcsun...example.com:800."
- set unifiHost "-app.example.com:8000"
- set wwwHost "//wserv1.example.com"
- set webAppHost "//webappi.example.com"
- set hdr_content_type [string tolower [HTTP::header Content-Type]]
- ##
- ## Compression
- ##
- if { $hdr_content_type starts_with "text/" or
- $hdr_content_type equals "application/x-javascript" or
- $hdr_content_type equals "application/xml" } {
- if { $compress_client_ok == 1 } {
- COMPRESS::enable
- HTTP::header insert Vary Accept-Encoding
- }
- }
- ##
- ## Sending HTTP/1.1 Cache-Control Header if required
- ##
- if { $sendCacheControl equals 1 } {
- HTTP::header replace Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
- }
- ##
- ## Ensuring the location header is correct
- ##
- if { [regexp "\/\/....$unifiHost" $location] } {
- regsub "\/\/....$unifiHost" $location $destHost newLocation
- HTTP::header replace location $newLocation
- } elseif { [regexp "\/\/...$unifiHost" $location] } {
- regsub "\/\/...$unifiHost" $location $destHost newLocation
- HTTP::header replace location $newLocation
- } elseif { [regexp "\/\/..$unifiHost" $location] } {
- regsub "\/\/..$unifiHost" $location $destHost newLocation
- HTTP::header replace location $newLocation
- } elseif { $location contains $wwwHost } {
- regsub $wwwHost $location $destHost newLocation
- HTTP::header replace location $newLocation
- } elseif { $location contains $webAppHost } {
- regsub $webAppHost $location $destHost newLocation
- HTTP::header replace location $newLocation
- } elseif { $location contains $sunHost } {
- regsub $sunHost $location $destHost newLocation
- HTTP::header replace location $newLocation
- }
- ##
- ## End of HTTP_RESPONSE Configuration
- ##
- }
- ============================================
- when RULE_INIT {
- array set ::CLIENT_SERVERS {
- #SITE B CLIENT SERVERS
- #SERVER IP #SERVER VIP
- 10.10.70.128 10.10.69.50
- 10.10.70.129 10.10.69.50
- 10.10.70.130 10.10.69.50
- 10.10.70.131 10.10.69.50
- 10.10.70.132 10.10.69.50
- 10.10.70.133 10.10.69.50
- 10.10.70.134 10.10.69.50&
评论
2 楼
dogstar
2006-12-05
最好先科普一下这东西是什么,google了半天,也没有出来什么介绍。呵呵
1 楼
wdmsyf
2006-11-30
可恶,后面部分贴不上去,不知每个贴子限多少字数。补在这里吧:
#SITE A CLIENT SERVERS #SERVER IP #SERVER VIP 10.10.22.130 10.10.21.50 10.10.22.131 10.10.21.50 10.10.22.132 10.10.21.50 10.10.22.133 10.10.21.50 10.10.22.134 10.10.21.50 10.10.22.135 10.10.21.50 } } when HTTP_REQUEST { if { [HTTP::cookie exists "my_cookie"] { HTTP::cookie decrypt "my_cookie" "iggus99!" set vipid [lindex [HTTP::cookie my_cookie] 0] set poolid [lindex [HTTP::cookie my_cookie] 1] set serverid [lindex [HTTP::cookie my_cookie] 2] set portid [lindex [HTTP::cookie my_cookie] 3] if { [catch { use pool $poolid member $serverid $portid }] } { log "$serverid:$portid not local, redirecting to https://$vipid/[HTTP::uri]/" redirect to "https://$vipid/[HTTP::uri]/" #reject return } else { use pool $poolid member $serverid $portid } } } when HTTP_RESPONSE { HTTP::cookie insert name my_cookie value [concat [virtual name] [LB::server]] HTTP::cookie encrypt "my_cookie" "iggus99!" } ================================================ # All incoming requests are terminated on the same load balanced HTTPS virtual server. # Search for XMLSOAP tag field and replace https:// with http:// as # we're terminating SSL on the BIGIP. when HTTP_REQUEST { if { [string tolower [HTTP::uri] ] starts_with "/soapapp/" } { set clen [HTTP::header Content-Length] if { not [info exists clen] or "" eq $clen } { set clen 4096 } HTTP::collect $clen # Forward to SOAP Servers pool soapservers-http persist none } else { # Forward to main Web Servers pool webservers-http persist cookie } } when HTTP_REQUEST_DATA { set old_content "To>https://" set new_content "To>http://" set len_old_content [string length $old_content] set offset [string first $old_content [HTTP::payload]] if { $offset >= 0 && [expr { $offset + $len_old_content }] <= [HTTP::header Content-Length] } { HTTP::payload replace $offset $len_old_content $new_content if { [HTTP::header exists Content-Length] } { set clen [HTTP::header Content-Length] if { [info exists clen] and "" ne $clen } { set nclen [expr { $clen - [string length $old_content] + [string length $new_content] }] HTTP::header replace Content-Length $nclen } } } } ============================================ #Written by Adam Kramer (akramer@netifice.com) for Netifice Corporation #July, 2005 when CLIENT_ACCEPTED { TCP::collect 2 } when CLIENT_DATA { #read initial socks handshake - the version number, and the number of auth methods supported binary scan [TCP::payload] cc socksver numauthmethods if { $socksver != 5 } { log local0. "Got non-socks connection from client [IP::remote_addr]" reject return } #set offset to the beginning of the second packet (SSL negotiation) set offset [expr {2 + $numauthmethods}] if { [TCP::payload length] == $offset } { #only respond if exactly the right amount of data was sent TCP::respond [binary format H2H2 05 86] TCP::collect [expr {$offset + 1}] return } #more data than the offset, this means we got the first packet of the SSL negotiation if { [TCP::payload length] > $offset} { # 4 bytes is the length of the SOCKS SSL header, 1 byte gets to the SSL version field #another 41 bytes past that is the session length, immediately following is the session (if it exists) #binary scan gracefully handles the string being too short, so we can safely read all 3 values here binary scan [TCP::payload] "x[expr {$offset + 5}]cx41ch32" sslversion sessionlength hexid if { $sslversion != 3 } { log local0. "Received wrong SSL version in header from client [IP::remote_addr]" reject return } if { $sessionlength == 0 } { #this is a new connection, allow normal server selection return } else { persist universal $hexid return } } #this should never happen, but a bad client might do it, moved to bottom for performance if { [TCP::payload length] < $offset } { TCP::collect $offset return } } when SERVER_CONNECTED { #send current full payload from client to server, we need server's ssl hello #also delete client payload - replace returns the replaced characters, doing both in one shot saves 50,000 cycles TCP::respond [clientside {TCP::payload replace 0 [TCP::payload length] ""}] # 5 bytes should do it, only 2 bytes to the first socks handshake TCP::collect 5 } when SERVER_DATA { #remove initial protocol negotiation since we already did that with client TCP::payload replace 0 2 "" # 4 bytes for socks ssl header, 44 for offset of session id binary scan [TCP::payload] "x48h32" hexid #need to add a session state for the case where the client didn't send a session ID #calling persist as is commented out below does not add it - bug? the "1" is arbitrary just to make an entry #persist universal $hexid session add universal $hexid 1 } =================================================
相关推荐
标题 "F5-模拟器 F5-模拟器.zip" 提供了一个关于F5技术的模拟器使用的主题,而描述详细地列举了几个关键步骤,包括F5设备的许可证注册、模拟器获取、F5虚拟机的配置以及LTM VE(Local Traffic Manager Virtual ...
源代码通常包括以下几个关键部分: 1. **预处理**:对输入图像进行预处理,例如去除图像的边界,确保处理的连续性和一致性。 2. **密钥管理**:F5算法依赖于一个强随机密钥,用于混淆和扩散过程。这部分代码负责...
F5 BIG-IP LTM V9.2.x SNMP 的详细信息,包括 SNMP 基础、F5 BIG-IP SNMP 系统概述、在 BIG-IP LTM 上配置 SNMP、BIG-IP LTM 的 SNMP MIB 库文件、通过 SNMP 采集 BIG-IP 的性能参数、附录一:几个常用的 ...
F5产品介绍,F5资料,F5培训,F5产品介绍,F5资料,F5培训
8、F5公司内部配置手册.pdf 9、F5-BIGIP负载均衡器培训胶片V9.pdf F5 V9配置手册.pdf F5-LTM-VE虚拟机使用.pdf F5_LTM_VE下载_安装和使用.pdf F5部署红宝书Part I - 基础安装部署-end.pdf F5部署红宝书Part ...
F5 GTM(Global Traffic Manager)是_F5 公司的一款流量管理设备,旨在提供高可用性、高性能和智能化的流量管理解决方案。下面将对 F5 GTM 的配置指导进行详细解释。 Listener 配置 在 F5 GTM 中,Listener 是对外...
F5 BIG-IP系统是一款广泛应用的高性能负载均衡解决方案,它负责在多个服务器之间分配网络流量,以确保服务的高可用性和优化资源利用率。MIB文件包含了F5设备的各种管理对象,例如系统状态、虚拟服务器状态、会话统计...
在 F5 BigIP 设备中,路由是用于将数据包从一个网络发送到另一个网络的。tmsh 中可以使用以下命令来配置路由: create route <destination_ip>/<subnet_mask> gw modify route <destination_ip>/<subnet_mask> gw ...
F5公司还获得了多个奖项,包括2008年奥运会、残奥会突出贡献单位、2009年度中国行业信息化突出贡献奖、2010年度最值得推荐的web应用安全产品奖等。 F5公司的价值创新包括独特的TMOS架构、业界唯一开放式iControl ...
F5算法在设计时就考虑了这些因素,它采用了一种称为“LSB(Least Significant Bit)替换”的方法,即修改每个像素的最低位,这种变化对于人眼来说几乎不可察觉,但可以被特定的解密程序读取出来。 F5隐写工具的操作...
在提供的文件中,我们可以看到以下几个关键的MATLAB脚本: 1. `lo_encode.m`:这是编码模块,负责将秘密信息转化为可以在DCT系数中嵌入的形式。通常,这包括对信息进行二值化和扩频,以提高水印的鲁棒性。 2. `f5_...
F5 Networks 是一家全球知名的网络技术公司,专注于提供应用交付网络(Application Delivery Network, ADN)解决方案,以确保应用程序的性能、安全性和可访问性。F5的新平台无疑是为了满足不断变化的IT需求和业务...
根据提供的信息,我们可以详细解析与F5-101认证相关的知识点,具体涵盖以下几个方面: ### 一、课程概述及F5产品认识 #### 1.1 课程目标与结构 - **目标**:F5-101认证课程旨在为学员提供全面深入的F5产品知识和...
在这个场景中,"F5的mib文件集合"指的是F5 Networks公司设备使用的MIB文件集,这些文件对于理解并有效地通过SNMP管理F5设备至关重要。 F5 Networks是一家提供应用交付网络解决方案的公司,其产品包括负载均衡器、...
F5 Networks是一家提供应用交付控制器(ADC)的公司,其产品在负载均衡领域广泛应用。DNS(Domain Name System)则负责将域名转换为IP地址,是互联网基础设施的核心组成部分。在F5设备上配置DNS负载均衡,可以实现对...
LTM是F5网络公司提供的网络解决方案,主要负责在数据中心内对网络流量进行智能分配,优化应用交付性能。 在考试中涉及的知识点非常广泛,根据上述文件内容,这里将详细介绍一些核心概念。 首先,我们来看架构应用...
F5是一家专注于应用交付网络(Application Delivery Networking,简称ADN)领域的公司,提供了一系列高性能的应用服务解决方案,包括负载均衡、安全防护、流量管理等。本文将详细介绍F5产品在拓扑图中的表示方法及其...
标题"F5-steganography-master"涉及的是一个关于F5隐写术的项目,这通常指的是在数字媒体(如图片)中隐藏信息的技术。在CTF(Capture The Flag,夺旗赛)这种网络安全竞赛中,隐写术常被用作挑战,参赛者需要找到并...
F5-steganography的使用并不复杂,通常包括以下几个步骤: 1. **安装与运行**:下载并解压F5-steganography-master压缩包,包含使用说明文档和源代码。运行程序,根据界面提示进行操作。 2. **信息准备**:准备好要...
- **F5公司的由来**:F5公司的名字来源于龙卷风的最大风力等级F5,象征着其产品的高效和强大。 - **全代理设备**:F5的设备作为全代理,意味着它们能够完全接管客户端和服务器之间的通信,提供了更高级别的控制和...