User Tools

Site Tools


howtos:stress_test_script_with_apache_bench

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

howtos:stress_test_script_with_apache_bench [19/03/2023 18:01] – created domingohowtos:stress_test_script_with_apache_bench [19/03/2023 20:52] (current) domingo
Line 1: Line 1:
 This script requires two support files, one for user-agent strings and one with the URI's requested. This script requires two support files, one for user-agent strings and one with the URI's requested.
  
 +<code>
 +#!/bin/bash
  
 +# Define URLs, user agents, IP addresses, HTTP methods, and JSON payloads
 +target="127.0.0.1:3000"
 +host_header="Host: example.com"
 +urls=($(cat urls.txt))
 +mapfile -t user_agent_list < user-agent.txt
 +ip_addresses=("127.0.1.1" "127.0.1.2" "127.0.1.3")
 +use_alternate_ips=1
 +http_methods=("GET" "POST" "DELETE" "PUT" "OPTIONS" "XHR")
 +json_payloads=(
 +  "{\"id\": %d, \"name\": \"John Doe\"}"
 +  "{\"name\": \"John Doe\", \"age\": %d}"
 +  "{\"username\": \"johndoe\", \"password\": \"pa$$word\"}"
 +  "{\"email\": \"johndoe@example.com\", \"phone\": \"555-555-5555\"}"
 +  "{\"name\": \"John Doe\", \"age\": 30, \"city\": \"New York\"}"
 +  "{\"title\": \"The Catcher in the Rye\", \"author\": \"J.D. Salinger\", \"published\": 1951}"
 +  "{\"username\": \"johndoe\", \"password\": \"password123\", \"email\": \"johndoe@example.com\"}"
 +  "{\"product\": \"iPhone 13\", \"brand\": \"Apple\", \"price\": 999}"
 +  "{\"first_name\": \"Jane\", \"last_name\": \"Doe\", \"birthdate\": \"1990-05-15\", \"gender\": \"female\"}"
 +  "{\"destination\": \"Tokyo\", \"departure_date\": \"2023-06-01\", \"return_date\": \"2023-06-15\", \"passengers\": 2}"
 +  "{\"product\": \"MacBook Air\", \"brand\": \"Apple\", \"price\": 1299, \"specs\": {\"processor\": \"M1 chip\", \"memory\": \"8GB\", \"storage\": \"512GB SSD\"}}"
 +  "{\"name\": \"Jane's Restaurant\", \"location\": {\"address\": \"123 Main St\", \"city\": \"New York\", \"state\": \"NY\", \"zip\": \"10001\"}}"
 +  "{\"customer_id\": 1234, \"order_items\": [{\"product\": \"iPhone 13\", \"quantity\": 1}, {\"product\": \"AirPods Pro\", \"quantity\": 2}], \"total_price\": 2197}"
 +  "{\"title\": \"The Great Gatsby\", \"author\": \"F. Scott Fitzgerald\", \"published\": 1925, \"characters\": [{\"name\": \"Jay Gatsby\", \"age\": 32}, {\"name\": \"Daisy Buchanan\", \"age\": 23}]}"
 +  "{\"provider\": \"google\", \"access_token\": \"abc123\"}"
 +  "{\"provider\": \"facebook\", \"access_token\": \"xyz456\"}"
 +  "{\"provider\": \"twitter\", \"access_token\": \"pqr789\"}"
 +  "{\"username\": \"johndoe\", \"password\": \"password123\", \"otp_code\": \"123456\"}"
 +  "{\"email\": \"johndoe@example.com\", \"password\": \"password123\", \"sms_code\": \"789012\"}"
 +  "{\"phone\": \"555-1234\", \"password\": \"password123\", \"push_notification\": true}"
 +  "{\"email\": \"johndoe@example.com\", \"new_password\": \"newpassword123\", \"confirm_password\": \"newpassword123\"}"
 +  "{\"username\": \"johndoe\", \"security_question\": \"What is your mother's maiden name?\", \"security_answer\": \"Smith\", \"new_password\": \"newpassword123\", \"confirm_password\": \"newpassword123\"}"
 +  "{\"phone\": \"555-1234\", \"verification_code\": \"123456\", \"new_password\": \"newpassword123\", \"confirm_password\": \"newpassword123\"}"
 +  "{\"username\": \"johndoe\", \"password\": \"password123\"}"
 +  "{\"email\": \"johndoe@example.com\", \"password\": \"password123\"}"
 +  "{\"phone\": \"555-1234\", \"password\": \"password123\"}"
 +  "{\"grant_type\": \"refresh_token\", \"refresh_token\": \"xyz789\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\"}"
 +  "{\"grant_type\": \"client_credentials\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"scope\": \"read write\"}"
 +  "{\"grant_type\": \"password\", \"username\": \"johndoe\", \"password\": \"password123\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\"}"
 +  "{\"grant_type\": \"authorization_code\", \"code\": \"abc123\", \"redirect_uri\": \"https://example.com/callback\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"scope\": \"read write\", \"state\": \"xyz789\", \"nonce\": \"123456\"}"
 +  "{\"grant_type\": \"client_credentials\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"audience\": \"https://api.example.com\"}"
 +  "{\"grant_type\": \"password\", \"username\": \"johndoe\", \"password\": \"password123\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"scope\": \"openid profile\"}"
 +  "{\"grant_type\": \"authorization_code\", \"code\": \"abc123\", \"redirect_uri\": \"https://example.com/callback\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\", \"scope\": \"read write\", \"state\": \"xyz789\"}"
 +  "{\"grant_type\": \"authorization_code\", \"code\": \"abc123\", \"redirect_uri\": \"https://example.com/callback\"}"
 +  "{\"grant_type\": \"client_credentials\", \"client_id\": \"123456\", \"client_secret\": \"abcdefg\"}"
 +  "{\"grant_type\": \"password\", \"username\": \"johndoe\", \"password\": \"password123\"}"
 +  "{\"email\": \"johndoe@example.com\", \"security_question\": \"What is your favorite color?\", \"security_answer\": \"Purple\", \"new_password\": \"N3wP\@ssw0rd123\!\", \"confirm_password\": \"N3wP\@ssw0rd123\!\"}"
 +  "{\"username\": \"johndoe\", \"old_password\": \"s3cureP\@ssw0rd\", \"new_password\": \"N3wP\@ssw0rd123\!\", \"confirm_password\": \"N3wP\@ssw0rd123\!\"}"
 +  "{\"phone\": \"555-1234\", \"verification_method\": \"email\", \"verification_code\": \"123456\", \"new_password\": \"N3wP\@ssw0rd123\!\", \"confirm_password\": \"N3wP\@ssw0rd123\!\"}"
 +  "{\"username\": \"johndoe\", \"password\": \"P@ssw0rd123\!\", \"remember_me\": true}"
 +  "{\"email\": \"johndoe\@example.com\", \"password\": \"s3cureP\@ssw0rd\", \"two_factor_code\": \"123456\"}"
 +  "{\"phone\": \"555-1234\", \"password\": \"C0mpl3xP@ssw0rd\!\", \"fingerprint\": true}"
 +)
 +
 +# Define HTTP headers
 +http_headers=(
 +  "Accept: */*"
 +  "Accept-Encoding: gzip, deflate, br"
 +  "Accept-Language: en-US,en;q=0.5"
 +  "Connection: keep-alive"
 +  "Content-Length: $(($RANDOM%1000+1))"
 +  "DNT: 1"
 +  "Origin: https://www.google.com"
 +  "Referer: https://www.google.com/"
 +  "Cache-Control: no-cache"
 +  "Pragma: no-cache"
 +  "If-Modified-Since: $(date -R -d '1 year ago')"
 +  "If-None-Match: W/$(openssl rand -hex 4)"
 +  "ETag: W/$(openssl rand -hex 4)"
 +  "Expires: $(date -R -d '+1 day')"
 +  "Last-Modified: $(date -R -d '1 year ago')"
 +  "Keep-Alive: timeout=5, max=100"
 +  "TE: trailers, deflate"
 +  "Upgrade-Insecure-Requests: 1"
 +)
 +
 +# Loop 10 times
 +for i in $(seq 1 10); do
 +  # Choose a random URL, user agent, IP address, and HTTP method
 +  url=${urls[$RANDOM % ${#urls[@]}]}
 +  user_agent=${user_agent_list[$RANDOM % ${#user_agent_list[@]}]}
 +  user_agent=$(echo $user_agent|sed 's/\"//g')
 +  ip_address=${ip_addresses[$RANDOM % ${#ip_addresses[@]}]}
 +  http_method=${http_methods[$RANDOM % ${#http_methods[@]}]}
 +
 +  # Choose a random number of HTTP headers
 +  num_http_headers=$((1 + RANDOM % ${#http_headers[@]}))
 +  headers=""
 +  for j in $(seq 1 $num_http_headers); do
 +    header=${http_headers[$RANDOM % ${#http_headers[@]}]}
 +    headers="$headers -H '$header'"
 +  done
 +
 +  # Format the payload and content type headers if the method is POST or PUT or XHR
 +  if [ "$http_method" == "POST" ] || [ "$http_method" == "PUT" ] || [ "$http_method" == "XHR" ]; then
 +    json_payload=${json_payloads[$RANDOM % ${#json_payloads[@]}]}
 +    echo $json_payload > /tmp/data.json
 +    content_type_header="-H 'Content-Type: application/json'"
 +    payload_option='-p /tmp/data.json'
 +  else
 +    json_payload=""
 +    content_type_header=""
 +    payload_option=""
 +  fi
 +  #concurrent=$((RANDOM % 20 + 1))
 +  concurrent=5000
 +  #number_request=$((RANDOM % 100 + 100))
 +  number_request=1000000
 +  
 +
 +  if [ $use_alternate_ips ]; then
 +    ab_command="-r -c $concurrent -n $number_request -H '$host_header' $headers -H 'User-Agent: $user_agent' $content_type_header $payload_option -B $ip_address -k -s 60 http://$target$url &"
 +  else
 +    ab_command="-r -c $concurrent -n $number_request -H '$host_header' $headers -H 'User-Agent: $user_agent' $content_type_header $payload_option -k -s 60 http://$target$url &"
 +  fi
 +
 +  echo "AB command: $ab_command"
 +   
 +  eval ab $ab_command
 +  
 +done
 +</code>
 +
 +The file urls.txt could look like this (taken from browsing OWASP Juiceshop):
 +<file>
 +/
 +/103.js
 +/ae.svg
 +/api
 +/api/Addresss
 +/api/Addresss/
 +/api/Addresss/7
 +/api/Cards
 +/api/Challenges
 +/api/Challenges/
 +/api/Challenges/?name=Score%20Board
 +/api/Complaints
 +/api/Complaints/
 +/api/Complaints/2
 +/api/Feedbacks
 +/api/Feedbacks/
 +/api/Feedbacks/8
 +/api/Quantitys
 +/api/Quantitys/
 +/api/Recycles
 +/api/Recycles/
 +/api/SecurityAnswers
 +/api/SecurityAnswers/
 +/api/SecurityAnswers/20
 +/api/SecurityQuestions
 +/api/SecurityQuestions/
 +/api/Users
 +/api/Users/
 +/api/Users/21
 +/assets
 +/assets/i18n
 +/assets/i18n/da_DK.json
 +/assets/i18n/en.json
 +/assets/public
 +/assets/public/favicon_js.ico
 +/assets/public/images
 +/assets/public/images/carousel
 +/assets/public/images/carousel/1.jpg
 +/assets/public/images/carousel/2.jpg
 +/assets/public/images/carousel/3.jpg
 +/assets/public/images/carousel/4.jpg
 +/assets/public/images/carousel/5.png
 +/assets/public/images/carousel/6.jpg
 +/assets/public/images/carousel/7.jpg
 +/assets/public/images/ChatbotAvatar.png
 +/assets/public/images/deluxe
 +/assets/public/images/deluxe/blankBoxes.png
 +/assets/public/images/hackingInstructor.png
 +/assets/public/images/JuiceShop_Logo.png
 +/assets/public/images/padding
 +/assets/public/images/padding/81px.png
 +/assets/public/images/products
 +/assets/public/images/products/3d_keychain.jpg
 +/assets/public/images/products/apple_juice.jpg
 +/assets/public/images/products/apple_pressings.jpg
 +/assets/public/images/products/artwork2.jpg
 +/assets/public/images/products/banana_juice.jpg
 +/assets/public/images/products/card_alpha.jpg
 +/assets/public/images/products/carrot_juice.jpeg
 +/assets/public/images/products/coaster.jpg
 +/assets/public/images/products/cover_small.jpg
 +/assets/public/images/products/eggfruit_juice.jpg
 +/assets/public/images/products/fan_facemask.jpg
 +/assets/public/images/products/fan_girlie.jpg
 +/assets/public/images/products/fan_hoodie.jpg
 +/assets/public/images/products/fan_mug.jpg
 +/assets/public/images/products/fan_shirt.jpg
 +/assets/public/images/products/fruit_press.jpg
 +/assets/public/images/products/green_smoothie.jpg
 +/assets/public/images/products/holo_sticker.png
 +/assets/public/images/products/iron-on.jpg
 +/assets/public/images/products/lemon_juice.jpg
 +/assets/public/images/products/magnets.jpg
 +/assets/public/images/products/melon_bike.jpeg
 +/assets/public/images/products/no-results.png
 +/assets/public/images/products/orange_juice.jpg
 +/assets/public/images/products/permafrost.jpg
 +/assets/public/images/products/quince.jpg
 +/assets/public/images/products/raspberry_juice.jpg
 +/assets/public/images/products/snakes_ladders.jpg
 +/assets/public/images/products/snakes_ladders_m.jpg
 +/assets/public/images/products/sticker_page.jpg
 +/assets/public/images/products/sticker_single.jpg
 +/assets/public/images/products/strawberry_juice.jpeg
 +/assets/public/images/products/tattoo.jpg
 +/assets/public/images/products/velcro-patch.jpg
 +/assets/public/images/products/woodruff_syrup.jpg
 +/assets/public/images/uploads
 +/assets/public/images/uploads/assets
 +/assets/public/images/uploads/assets/public
 +/assets/public/images/uploads/assets/public/favicon_js.ico
 +/assets/public/images/uploads/default.svg
 +/assets/public/images/uploads/%F0%9F%98%BC-
 +/assets/public/images/uploads/favorite-hiking-place.png
 +/assets/public/images/uploads/IMG_4253.jpg
 +/assets/public/images/uploads/magn(et)ificent!-1571814229653.jpg
 +/assets/public/images/uploads/main.js
 +/assets/public/images/uploads/my-rare-collectors-item!-[%CC%B2%CC%85$%CC%B2%CC%85(%CC%B2%CC%85-%CD%A1%C2%B0-%CD%9C%CA%96-%CD%A1%C2%B0%CC%B2%CC%85)%CC%B2%CC%85$%CC%B2%CC%85]-1572603645543.jpg
 +/assets/public/images/uploads/polyfills.js
 +/assets/public/images/uploads/runtime.js
 +/assets/public/images/uploads/styles.css
 +/assets/public/images/uploads/vendor.js
 +/az.svg
 +/bg.svg
 +/br.svg
 +/ch.svg
 +/cn.svg
 +/cz.svg
 +/de.svg
 +/dk.svg
 +/ee.svg
 +/es-ct.svg
 +/es.svg
 +/favicon.ico
 +/fi.svg
 +/font-mfizz.woff
 +/fr.svg
 +/ftp
 +/ftp/legal.md
 +/gb.svg
 +/ge.svg
 +/gr.svg
 +/hk.svg
 +/hu.svg
 +/id.svg
 +/ie.svg
 +/il.svg
 +/in.svg
 +/it.svg
 +/jp.svg
 +/kr.svg
 +/lv.svg
 +/main.js
 +/MaterialIcons-Regular.woff2
 +/mm.svg
 +/nl.svg
 +/no.svg
 +/pl.svg
 +/polyfills.js
 +/pt.svg
 +/redirect
 +/redirect?to=https://github.com/bkimminich/juice-shop
 +/redirect?to=http://shop.spreadshirt.com/juiceshop
 +/rest
 +/rest/2fa
 +/rest/2fa/setup
 +/rest/2fa/status
 +/rest/admin
 +/rest/admin/application-configuration
 +/rest/admin/application-version
 +/rest/basket
 +/rest/basket/6
 +/rest/basket/6/coupon
 +/rest/basket/6/coupon/2sfg546411
 +/rest/captcha
 +/rest/captcha/
 +/rest/chatbot
 +/rest/chatbot/respond
 +/rest/chatbot/status
 +/rest/continue-code
 +/rest/deluxe-membership
 +/rest/image-captcha
 +/rest/image-captcha/
 +/rest/languages
 +/rest/memories
 +/rest/memories/
 +/rest/order-history
 +/rest/products
 +/rest/products/1
 +/rest/products/1/reviews
 +/rest/products/24
 +/rest/products/24/reviews
 +/rest/products/30
 +/rest/products/30/reviews
 +/rest/products/search
 +/rest/products/search?q=
 +/rest/user
 +/rest/user/data-export
 +/rest/user/login
 +/rest/user/whoami
 +/rest/wallet
 +/rest/wallet/balance
 +/ro.svg
 +/runtime.js
 +/ru.svg
 +/se.svg
 +/si.svg
 +/socket.io
 +/socket.io/
 +/socket.io/?EIO=4&transport=polling&t=ORutb_B&sid=XMdaU3pmAjQENRZNAAAE
 +/socket.io/?EIO=4&transport=polling&t=ORutbx3
 +/socket.io/?EIO=4&transport=polling&t=ORutbze&sid=XMdaU3pmAjQENRZNAAAE
 +/socket.io/?EIO=4&transport=polling&t=ORutbzg&sid=XMdaU3pmAjQENRZNAAAE
 +/socket.io/?EIO=4&transport=polling&t=ORuuo3q
 +/socket.io/?EIO=4&transport=polling&t=ORuuo4I&sid=cCy37VLGBluPs5BfAAAI
 +/socket.io/?EIO=4&transport=polling&t=ORuuo4Y&sid=cCy37VLGBluPs5BfAAAI
 +/socket.io/?EIO=4&transport=polling&t=ORuuOHH
 +/socket.io/?EIO=4&transport=polling&t=ORuuOHn&sid=Eyv3Lj-FXKo289kQAAAG
 +/socket.io/?EIO=4&transport=polling&t=ORuuOI3&sid=Eyv3Lj-FXKo289kQAAAG
 +/socket.io/?EIO=4&transport=polling&t=ORuuvji&sid=59XaACWeoq5greXzAAAK
 +/socket.io/?EIO=4&transport=polling&t=ORuuvjK
 +/socket.io/?EIO=4&transport=polling&t=ORuuvj-&sid=59XaACWeoq5greXzAAAK
 +/socket.io/?EIO=4&transport=websocket&sid=59XaACWeoq5greXzAAAK
 +/socket.io/?EIO=4&transport=websocket&sid=cCy37VLGBluPs5BfAAAI
 +/socket.io/?EIO=4&transport=websocket&sid=Eyv3Lj-FXKo289kQAAAG
 +/socket.io/?EIO=4&transport=websocket&sid=XMdaU3pmAjQENRZNAAAE
 +/styles.css
 +/th.svg
 +/tn.svg
 +/tr.svg
 +/tutorial.js
 +/tw.svg
 +/ua.svg
 +/us.svg
 +/vendor.js
 +</file>
 +
 +And the user-agent.txt could be like this:
 +<file>
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:88.0) Gecko/20100101 Firefox/88.0"
 +"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.37"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; AS; rv:11.0) like Gecko"
 +"Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"
 +"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/91.0.4472.80 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (Linux; Android 11; SM-G998U1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:88.0) Gecko/20100101 Firefox/88.0"
 +"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/32.0 Mobile/15E148 Safari/605.1.15"
 +"Mozilla/5.0 (Android 11; Mobile; rv:89.0) Gecko/89.0 Firefox/89.0"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.37"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1 EdgiOS/46.12.4"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/91.0.4472.80 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (Linux; Android 11; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Mobile Safari/537.36"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:88.0) Gecko/20100101 Firefox/88.0"
 +"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/34.0 Mobile/15E148 Safari/605.1.15"
 +"Mozilla/5.0 (Android 11; Mobile; rv:89.0) Gecko/89.0 Firefox/89.0"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.37"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) EdgiOS/46.9.9 Mobile/15E148 Safari/605.1.15"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyExplorer/1.0.0 Safari/537.36"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyExplorer/2.0.0 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyExplorer/3.0.0 Safari/537.36"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GalaxyExplorer/4.0.0 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (Linux; Android 11; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyExplorer/5.0.0 Mobile Safari/537.36"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) OceanWave/1.0.0 Safari/537.36"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) OceanWave/2.0.0 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) OceanWave/3.0.0 Safari/537.36"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) OceanWave/4.0.0 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (Linux; Android 11; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) OceanWave/5.0.0 Mobile Safari/537.36"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) PixelNavigator/1.0.0 Safari/537.36"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) PixelNavigator/2.0.0 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) PixelNavigator/3.0.0 Safari/537.36"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) PixelNavigator/4.0.0 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/1.0.0 Safari/537.36"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/2.0.0 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/3.0.0 Safari/537.36"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GalaxyVoyager/4.0.0 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (Linux; Android 11; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/5.0.0 Mobile Safari/537.36"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/6.0.0 Safari/537.36"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/7.0.0 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/8.0.0 Safari/537.36"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GalaxyVoyager/9.0.0 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (Linux; Android 12; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) GalaxyVoyager/10.0.0 Mobile Safari/537.36"
 +"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) OceanExplorer/1.0.0 Safari/537.36"
 +"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) OceanExplorer/2.0.0 Safari/537.36"
 +"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) OceanExplorer/3.0.0 Safari/537.36"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) OceanExplorer/4.0.0 Mobile/15E148 Safari/604.1"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1 (Windows NT 10.0; Win64; x64)"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Mobile/15E148 Safari/604.1 (Windows NT 10.0; Win64; x64)"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/29.0 Mobile/15E148 Safari/605.1.15 (Windows NT 10.0; Win64; x64)"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile/15E148 Safari/604.1 Edg/87.0.664.75 (Windows NT 10.0; Win64; x64)"
 +"Opera/9.80 (iPhone; Opera Mini/16.0.14/1416; U; en) Presto/2.12.423 Version/12.16 (Windows NT 10.0; Win64; x64)"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1 (Windows NT 10.0; Win64; x64)"
 +"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Mobile/15E148 Safari/604.1 (Windows NT 10.0; Win64; x64)"
 +"Mozilla/5.0 (Android 11; Mobile; rv:88.0) Gecko/88.0 Firefox/88.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X; Windows NT 10.0; Win64; x64)"
 +"Mozilla/5.0 (Linux; Android 11; SM-G998U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Mobile Safari/537.36 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X; Windows NT 10.0; Win64; x64)"
 +"Opera/9.80 (Android; Opera Mini/16.0.14/1416; U; en) Presto/2.12.423 Version/12.16 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X; Windows NT 10.0; Win64; x64)"
 +</file>
 +
 +Note, not all user-agent strings are real.
howtos/stress_test_script_with_apache_bench.txt · Last modified: 19/03/2023 20:52 by domingo