User Tools

Site Tools


howtos:stress_test_script_with_apache_bench

This script requires two support files, one for user-agent strings and one with the URI's requested.

#!/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

The file urls.txt could look like this (taken from browsing OWASP Juiceshop):

/
/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

And the user-agent.txt could be like this:

"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)"

Note, not all user-agent strings are real.

howtos/stress_test_script_with_apache_bench.txt · Last modified: 19/03/2023 19:52 by domingo