
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_amd64llegarddosify_arm64oddosify_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:
curlysudo
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/ddosify@latest
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:pass@proxy_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_countElectivoEsto es equivalente a-nbandera. La diferencia es que si hay varios pasos en su escenario, este valor representa el recuento de iteraciones del paso.load_typeElectivoEsto es equivalente a-lbandera.durationElectivoEsto es equivalente a-dbandera.manual_loadElectivoSi 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_countydurationSerá llenado automáticamente por Ddosifymanual_loadConfiguración. En este ejemplo,request_countTendrá 35 ydurationSerán 18 segundos.tambiénmanual_loadcubrirload_typeSi 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}
]
proxyElectivoEsto es equivalente a-Pbandera.outputElectivoEsto es equivalente a-obandera.stepsObligatorioEste 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;idObligatorioCada paso debe tener un ID entero único.urlObligatorioEsto es equivalente a-tbandera.protocolElectivoEsto es equivalente a-pbandera.methodElectivoEsto es equivalente a-mbandera.headersElectivoLista de títulos con clave: formato de valor.payloadElectivoEsto es equivalente a-bbandera.payload_fileElectivoSi necesita una carga útil larga, le recomendamos que utilice este parámetro en lugar depayload.authElectivoAutenticació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
ddosifyY seleccione abrir - Seleccionar abierto
- Cerrar terminal abierta









