<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="11284" language="en" source="https://portal.flane.ch/swisscom/en/xml-course/f5networks-trg-big-irule-cfg" lastchanged="2026-01-30T12:21:48+01:00" parent="https://portal.flane.ch/swisscom/en/xml-courses"><title>Developing iRules for BIG-IP</title><productcode>TRG-BIG-IRULE-CFG</productcode><vendorcode>F5</vendorcode><vendorname>F5 Networks</vendorname><fullproductcode>F5-TRG-BIG-IRULE-CFG</fullproductcode><version>16.1</version><objective>&lt;p&gt;After completing this course, you should be able to :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setting Up the BIG-IP System&lt;/li&gt;&lt;li&gt;Getting Started with iRules&lt;/li&gt;&lt;li&gt;Exploring iRule Elements&lt;/li&gt;&lt;li&gt;Developing and Troubleshooting iRules&lt;/li&gt;&lt;li&gt;Optimizing iRule Execution&lt;/li&gt;&lt;li&gt;Securing Web Applications with iRules&lt;/li&gt;&lt;li&gt;Working with Numbers and Strings&lt;/li&gt;&lt;li&gt;Processing the HTTP Payload&lt;/li&gt;&lt;li&gt;Working with iFiles and Data Groups&lt;/li&gt;&lt;li&gt;Using iRules with Universal Persistence, Stream, and Statistics Profiles&lt;/li&gt;&lt;li&gt;Incorporating Advanced Variables&lt;/li&gt;&lt;/ul&gt;</objective><essentials>&lt;p&gt;Prior to attending the Configuring BIG-IP with iRules course the student must have attended the Configuring LTM course. The student can also benefit from several months experience configuring and designing with the BIG-IP LTM product before attending this course.
    
Students should also be familiar with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Common network terminology&lt;/li&gt;&lt;li&gt;TCP/IP addressing and routing&lt;/li&gt;&lt;li&gt;Internetworking concepts&lt;/li&gt;&lt;li&gt;Common elements of WAN and LAN environments&lt;/li&gt;&lt;li&gt;Programming Basics (Tcl is a plus)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;    Students should be proficient in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic PC operation and application skills&lt;/li&gt;&lt;li&gt;Basic Web browser operation (Internet Explorer is used in class)&lt;/li&gt;&lt;li&gt;TCL and TMSH commands&lt;/li&gt;&lt;/ul&gt;</essentials><audience>&lt;p&gt;This course is intended for system administrators, network administrators and application developers responsible for the configuration and administration of the BIG-IP LTM system.&lt;/p&gt;</audience><outline>&lt;h5&gt;Chapter 1: Setting Up the BIG-IP System&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Introducing the BIG-IP System&lt;/li&gt;&lt;li&gt;Initially Setting Up the BIG-IP System&lt;/li&gt;&lt;li&gt;Archiving the BIG-IP System Configuration&lt;/li&gt;&lt;li&gt;Leveraging F5 Support Resources and Tools&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 2: Getting Started with iRules&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Customizing Application Delivery with iRules&lt;/li&gt;&lt;li&gt;Triggering an iRule&lt;/li&gt;&lt;li&gt;Leveraging the DevCentral Ecosystem&lt;/li&gt;&lt;li&gt;Creating and Deploying iRules&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 3: Exploring iRule Elements&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Introducing iRule Constructs&lt;/li&gt;&lt;li&gt;Understanding iRule Events and Event Context&lt;/li&gt;&lt;li&gt;Working with iRule Commands&lt;/li&gt;&lt;li&gt;Logging from an iRule Using SYSLOG-NG (LOG Command)&lt;/li&gt;&lt;li&gt;Working with User-Defined Variables&lt;/li&gt;&lt;li&gt;Working with Operators and Data Types&lt;/li&gt;&lt;li&gt;Working with Conditional Control Structures (IF and SWITCH)&lt;/li&gt;&lt;li&gt;Incorporating Best Practices in iRules&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 4: Developing and Troubleshooting iRules&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Mastering Whitespace and Special Symbols&lt;/li&gt;&lt;li&gt;Grouping Strings&lt;/li&gt;&lt;li&gt;Developing and Troubleshooting Tips&lt;/li&gt;&lt;li&gt;Using Fiddler to Test and Troubleshoot iRules&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 5: Optimizing iRule Execution&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Understanding the Need for Efficiency&lt;/li&gt;&lt;li&gt;Measure iRule Runtime Efficiency Using Timing Statistics&lt;/li&gt;&lt;li&gt;Modularizing iRules for Administrative Efficiency&lt;/li&gt;&lt;li&gt;Using Procedures to Modularize Code&lt;/li&gt;&lt;li&gt;Optimizing Logging&lt;/li&gt;&lt;li&gt;Using High-Speed Logging Commands in an iRule&lt;/li&gt;&lt;li&gt;Implementing Other Efficiencies&lt;/li&gt;&lt;li&gt;Using Looping Control Structures (WHILE, FOR, FOREACH Commands)&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 6: Securing Web Applications with iRules&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Integrating iRules into Web Application Defense&lt;/li&gt;&lt;li&gt;Mitigating HTTP Version Attacks&lt;/li&gt;&lt;li&gt;Mitigating Path Traversal Attacks&lt;/li&gt;&lt;li&gt;Using iRules to Defends Against Cross-Site Request Forgery (CSRF)&lt;/li&gt;&lt;li&gt;Mitigating HTTP Method Vulnerabilities&lt;/li&gt;&lt;li&gt;Securing HTTP Cookies with iRules&lt;/li&gt;&lt;li&gt;Adding HTTP Security Headers&lt;/li&gt;&lt;li&gt;Removing Undesirable HTTP Headers&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 7: Working with Numbers and Strings&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Understanding Number Forms and Notation&lt;/li&gt;&lt;li&gt;Working with Strings (STRING and SCAN Commands)&lt;/li&gt;&lt;li&gt;Combining Strings (Adjacent Variables, CONCAT and APPEND Commands)&lt;/li&gt;&lt;li&gt;Using iRule String Parsing Functions (FINDSTR, GETFIELD, and SUBSTR Commands)&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 8: Processing the HTTP Payload&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Reviewing HTTP Headers and Commands&lt;/li&gt;&lt;li&gt;Accessing and Manipulating HTTP Headers (HTTP::header Commands)&lt;/li&gt;&lt;li&gt;Other HTTP commands (HTTP::host, HTTP::status, HTTP::is_keepalive, HTTP::method, HTTP::version, HTTP::redirect, HTTP::respond, HTTP::uri)&lt;/li&gt;&lt;li&gt;Parsing the HTTP URI (URI::path, URI::basename, URI::query)&lt;/li&gt;&lt;li&gt;Parsing Cookies with HTTP::cookie&lt;/li&gt;&lt;li&gt;Selectively Compressing HTTP Data (COMPRESS Command)&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 9: Working with iFiles and Data Groups&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Working with iFiles&lt;/li&gt;&lt;li&gt;Introducing Data Groups&lt;/li&gt;&lt;li&gt;Working with Old Format Data Groups (MATCHCLASS, FINDCLASS)&lt;/li&gt;&lt;li&gt;Working with New Format Data Groups (CLASS MATCH, CLASS SEARCH)&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 10: Using iRules with Universal Persistence, Stream, and Statistics Profiles&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Implementing Universal Persistence (PERSIST UIE Command)&lt;/li&gt;&lt;li&gt;Working with the Stream Profile (STREAM Command)&lt;/li&gt;&lt;li&gt;Collecting Statistics Using a Statistics Profile (STATS Command)&lt;/li&gt;&lt;li&gt;Collecting Statistics Using iStats (ISTATS Command)&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Chapter 11: Incorporating Advanced Variables&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Reviewing the Local Variable Namespace&lt;/li&gt;&lt;li&gt;Working with Arrays (ARRAY Command)&lt;/li&gt;&lt;li&gt;Using Static and Global Variables&lt;/li&gt;&lt;li&gt;Using the Session Table (TABLE Command)&lt;/li&gt;&lt;li&gt;Processing Session Table Subtables&lt;/li&gt;&lt;li&gt;Counting &amp;ldquo;Things&amp;rdquo; Using the Session Table&lt;/li&gt;&lt;/ul&gt;</outline><objective_plain>After completing this course, you should be able to :



- Setting Up the BIG-IP System
- Getting Started with iRules
- Exploring iRule Elements
- Developing and Troubleshooting iRules
- Optimizing iRule Execution
- Securing Web Applications with iRules
- Working with Numbers and Strings
- Processing the HTTP Payload
- Working with iFiles and Data Groups
- Using iRules with Universal Persistence, Stream, and Statistics Profiles
- Incorporating Advanced Variables</objective_plain><essentials_plain>Prior to attending the Configuring BIG-IP with iRules course the student must have attended the Configuring LTM course. The student can also benefit from several months experience configuring and designing with the BIG-IP LTM product before attending this course.
    
Students should also be familiar with:



- Common network terminology
- TCP/IP addressing and routing
- Internetworking concepts
- Common elements of WAN and LAN environments
- Programming Basics (Tcl is a plus)
    Students should be proficient in:



- Basic PC operation and application skills
- Basic Web browser operation (Internet Explorer is used in class)
- TCL and TMSH commands</essentials_plain><audience_plain>This course is intended for system administrators, network administrators and application developers responsible for the configuration and administration of the BIG-IP LTM system.</audience_plain><outline_plain>Chapter 1: Setting Up the BIG-IP System


- Introducing the BIG-IP System
- Initially Setting Up the BIG-IP System
- Archiving the BIG-IP System Configuration
- Leveraging F5 Support Resources and Tools
Chapter 2: Getting Started with iRules


- Customizing Application Delivery with iRules
- Triggering an iRule
- Leveraging the DevCentral Ecosystem
- Creating and Deploying iRules
Chapter 3: Exploring iRule Elements


- Introducing iRule Constructs
- Understanding iRule Events and Event Context
- Working with iRule Commands
- Logging from an iRule Using SYSLOG-NG (LOG Command)
- Working with User-Defined Variables
- Working with Operators and Data Types
- Working with Conditional Control Structures (IF and SWITCH)
- Incorporating Best Practices in iRules
Chapter 4: Developing and Troubleshooting iRules


- Mastering Whitespace and Special Symbols
- Grouping Strings
- Developing and Troubleshooting Tips
- Using Fiddler to Test and Troubleshoot iRules
Chapter 5: Optimizing iRule Execution


- Understanding the Need for Efficiency
- Measure iRule Runtime Efficiency Using Timing Statistics
- Modularizing iRules for Administrative Efficiency
- Using Procedures to Modularize Code
- Optimizing Logging
- Using High-Speed Logging Commands in an iRule
- Implementing Other Efficiencies
- Using Looping Control Structures (WHILE, FOR, FOREACH Commands)
Chapter 6: Securing Web Applications with iRules


- Integrating iRules into Web Application Defense
- Mitigating HTTP Version Attacks
- Mitigating Path Traversal Attacks
- Using iRules to Defends Against Cross-Site Request Forgery (CSRF)
- Mitigating HTTP Method Vulnerabilities
- Securing HTTP Cookies with iRules
- Adding HTTP Security Headers
- Removing Undesirable HTTP Headers
Chapter 7: Working with Numbers and Strings


- Understanding Number Forms and Notation
- Working with Strings (STRING and SCAN Commands)
- Combining Strings (Adjacent Variables, CONCAT and APPEND Commands)
- Using iRule String Parsing Functions (FINDSTR, GETFIELD, and SUBSTR Commands)
Chapter 8: Processing the HTTP Payload


- Reviewing HTTP Headers and Commands
- Accessing and Manipulating HTTP Headers (HTTP::header Commands)
- Other HTTP commands (HTTP::host, HTTP::status, HTTP::is_keepalive, HTTP::method, HTTP::version, HTTP::redirect, HTTP::respond, HTTP::uri)
- Parsing the HTTP URI (URI::path, URI::basename, URI::query)
- Parsing Cookies with HTTP::cookie
- Selectively Compressing HTTP Data (COMPRESS Command)
Chapter 9: Working with iFiles and Data Groups


- Working with iFiles
- Introducing Data Groups
- Working with Old Format Data Groups (MATCHCLASS, FINDCLASS)
- Working with New Format Data Groups (CLASS MATCH, CLASS SEARCH)
Chapter 10: Using iRules with Universal Persistence, Stream, and Statistics Profiles


- Implementing Universal Persistence (PERSIST UIE Command)
- Working with the Stream Profile (STREAM Command)
- Collecting Statistics Using a Statistics Profile (STATS Command)
- Collecting Statistics Using iStats (ISTATS Command)
Chapter 11: Incorporating Advanced Variables


- Reviewing the Local Variable Namespace
- Working with Arrays (ARRAY Command)
- Using Static and Global Variables
- Using the Session Table (TABLE Command)
- Processing Session Table Subtables
- Counting “Things” Using the Session Table</outline_plain><duration unit="d" days="3">3 days</duration><pricelist><price country="AE" currency="USD">2995.00</price><price country="NL" currency="EUR">2850.00</price><price country="BE" currency="EUR">2850.00</price><price country="IT" currency="EUR">2850.00</price><price country="GB" currency="GBP">2460.00</price><price country="FR" currency="EUR">2500.00</price><price country="DE" currency="USD">3960.00</price><price country="CH" currency="USD">3960.00</price><price country="AT" currency="USD">3960.00</price></pricelist><miles/></course>