Dosificacion Es una herramienta de prueba de carga de alto rendimiento.
característica
- Protocolo independiente: actualmente compatible HTTP, HTTPS, HTTP / 2Se están desarrollando otros protocolos.
- Según el escenario, cree su flujo en un archivo JSON. ¡No necesita una línea de código!
- Diferentes tipos de carga: pruebe los límites de su sistema en diferentes tipos de carga.
ddosify
Disponible a través de Docker, Homebrew Tap y binarios precompilados que se pueden descargar desde las páginas de lanzamiento de macOS, Linux y Windows.
docker run -it –rm ddos ify / ddosify
Homebrew Tap (macOS y Linux)
brew instalar ddosify / tap / ddosify
apk, deb, rpm, paquete Arch Linux
- Cambios en la arquitectura del brazo.
ddosify_amd64
llegarddosify_arm64
oddosify_armv6
. - Se requieren permisos de superusuario.
Basado en Redhat (Fedora, CentOS, RHEL, etc.)
rpm -i https://github.com/ddosify/ddosify/releases/latest/download/ddosify_amd64.rpm
Basado en Debian (Ubuntu, Linux Mint, etc.)
wget https://github.com/ddosify/ddosify/releases/latest/download/ddosify_amd64.deb
dpkg -i ddos ify_amd64.deb
Para la montaña
wget https://github.com/ddosify/ddosify/releases/latest/download/ddosify_amd64.apk
apk add –permitir ddos no confiables ify_amd64.apk
Para Arch Linux
clon de git https://aur.archlinux.org/ddosify.git
cd ddos ify
makepkg -sri
Utilice scripts convenientes (macOS y Linux)
- Este script requiere permisos de root o sudo para mover el archivo binario ddosify a
/usr/local/bin
. - El script intenta detectar su sistema operativo (macOS o Linux) y arquitectura (arm64, x86, amd64) para descargar el archivo binario apropiado desde la página de lanzamiento.
- De forma predeterminada, el script instalará la última versión de
ddosify
. - Si tiene problemas, consulte las preguntas frecuentes
- Paquetes requeridos:
curl
ysudo
curl -sSfL https://raw.githubusercontent.com/ddosify/ddosify / master / scripts / install.sh | silencio
Instalar desde el código fuente (macOS, Linux, Windows)
Vaya a instalar -v go.ddosify.com/[email protected]
Fácil de empezar
Esta sección tiene como objetivo mostrarle cómo usar fácilmente Ddosify sin entrar en detalles.
ddosify -t sitio_de_destino.com
El comando anterior ejecuta la prueba de carga y el valor predeterminado es 100 solicitudes en 10 segundos.
Usa algunas funciones
ddosify -t sitio_de_destino.com -n 1000 -d 20 -p HTTPS -m PUT -T 7 -P http: //servidor_proxy.com:80
Ddosify enviado en total 1000 poner Exigir https://target_site.com interino http://proxy_server.com:80 existe 20 Segundos de tiempo de espera 7 La cantidad de segundos por solicitud.
Prueba de carga basada en escenarios
ddosify -config config_examples / config.json
- Ddosify envía primero POST HTTP / 2 preguntar https://test_site1.com/endpoint_1 Utilice credenciales de autenticación básicas Usuarios de prueba: 12345 interino http://proxy_host.com:proxy_port Y se agotó el tiempo 3 segundo.Una vez recibida la respuesta, la solicitud HTTPS GET se enviará a https://test_site1.com/endpoint_2 Junto con incluido en config_examples / payload.txt El tiempo de espera del archivo es de 2 segundos.Este proceso se repetirá 20 De segunda 5 Segundos y se escribirá la respuesta. Salida estándar.
Puede configurar las pruebas de carga a través de las opciones de CLI o los archivos de configuración. El archivo de configuración admite más funciones que la CLI. Por ejemplo, no puede usar las opciones de CLI para crear pruebas de carga basadas en escenarios.
distribución [FLAG]
bandera | describir | escribe | defecto | ¿Requerido? |
---|---|---|---|---|
-t |
La URL del sitio web de destino. Ejemplo: https://ddosify.com | string |
—— | sí |
-n |
Número total de solicitudes | int |
100 |
No |
-d |
La duración de la prueba en segundos. | int |
10 |
No |
-p |
El acuerdo solicitado.El protocolo admitido es HTTP, HTTPSLa compatibilidad con HTTP / 2 solo se puede utilizar mediante el archivo de configuración descrito. Se agregarán más acuerdos. | string |
HTTPS |
No |
-m |
Método de solicitud. Los métodos disponibles para HTTP (s) son Obtener, publicar, colocar, eliminar, actualizar, parchear | string |
GET |
No |
-b |
La carga útil del paquete de red. El cuerpo AKA de HTTP. | string |
—— | No |
-a |
Autenticación básica. uso: -a username:password |
string |
—— | No |
-h |
El encabezado de la solicitud.Puede proporcionar varios encabezados con varios -h bandera. |
string |
—— | No |
-T |
Solicitar tiempo de espera en segundos. | int |
5 |
No |
-P |
La dirección del proxy es host: puerto. -P http://user:[email protected]_host.com:port' |
string |
—— | No |
-o |
El destino de salida del resultado de la prueba. Se agregarán otros tipos de salida. | string |
stdout |
No |
-l |
El tipo de prueba de carga. Ddosify admite 3 tipos de carga. | string |
linear |
No |
-config |
Archivo de configuración para prueba de carga. | string |
—— | No |
-version |
Imprimir versión, git commit, fecha de compilación (utc), ir a la información y salir | —— | —— | No |
Tipo de carga
ddosify -t sitio_de_destino.com -l lineal
resultado:
Ola
distribución ——t target_site.com -l wave
resultado:
Archivo de configuración
El archivo de configuración le permite utilizar todas las funciones de Ddosify.
Las funciones que puede utilizar a través del archivo de configuración;
- Creación de escenas
- Creación de tipo de carga personalizada
- Carga desde archivo
- Configuración de conexión adicional, como Viva Habilitar / deshabilitar la lógica
- Soporte HTTP2
uso;
ddosify -config
Hay un archivo de configuración de ejemplo en config_examples / config.json. Este archivo contiene todos los parámetros que puede utilizar. Información detallada de cada parámetro;
request_count
ElectivoEsto es equivalente a-n
bandera. La diferencia es que si hay varios pasos en su escenario, este valor representa el recuento de iteraciones del paso.load_type
ElectivoEsto es equivalente a-l
bandera.duration
ElectivoEsto es equivalente a-d
bandera.manual_load
ElectivoSi está buscando crear su propio tipo de carga personalizado, puede usar esta función. El siguiente ejemplo muestra que Ddosify ejecutará el escenario 5, 10 y 20 veces según la duración proporcionada.request_count
yduration
Será llenado automáticamente por Ddosifymanual_load
Configuración. En este ejemplo,request_count
Tendrá 35 yduration
Serán 18 segundos.tambiénmanual_load
cubrirload_type
Si los proporciona al mismo tiempo.Por lo tanto, no es necesario proporcionar estos 3 parámetros al usarmanual_load
.
«Carga manual»: [
{“duration”: 5, “count”: 5},
{“duration”: 6, “count”: 10},
{“duration”: 7, “count”: 20}
]
proxy
ElectivoEsto es equivalente a-P
bandera.output
ElectivoEsto es equivalente a-o
bandera.steps
ObligatorioEste parámetro le permite crear una escena. Ddosify ejecuta los pasos proporcionados por separado. Para el archivo de ejemplo dado, el ID de paso: 2 se ejecutará tan pronto como se reciba la respuesta del ID de paso: 1. El orden de ejecución es el mismo que el orden de los pasos en el archivo de configuración.Información detallada de cada parámetro de un paso;id
ObligatorioCada paso debe tener un ID entero único.url
ObligatorioEsto es equivalente a-t
bandera.protocol
ElectivoEsto es equivalente a-p
bandera.method
ElectivoEsto es equivalente a-m
bandera.headers
ElectivoLista de títulos con clave: formato de valor.payload
ElectivoEsto es equivalente a-b
bandera.payload_file
ElectivoSi necesita una carga útil larga, le recomendamos que utilice este parámetro en lugar depayload
.auth
ElectivoAutenticación básica.
«Autenticación»: {
«Nombre de usuario»: «test_user»,
«Contraseña»: «12345»
}
others
Electivo
El parámetro acepta dinámica valor central Los detalles de conexión del protocolo utilizado para la configuración.
«otro»: {
«Keep-alive»: verdadero, // el valor predeterminado es falso
«Deshabilitar compresión»: falso, // el valor predeterminado es verdadero
«H2»: verdadero, // habilita HTTP / 2. El valor predeterminado es falso.
«Disable-redirect»: verdadero // predeterminado falso
}
problema comun
problemas de seguridad de macOS
«Ddosify» no se puede abrir porque Apple no puede comprobarlo en busca de malware.
- Abierto
/usr/local/bin
- botón derecho del ratón
ddosify
Y seleccione abrir - Seleccionar abierto
- Cerrar terminal abierta