Всем привет. На этот раз вопрос по гидре. Может кто объяснить логику работы программы с прокси листом ? 1) Что происходит, когда запрос через один из прокси не проходит? Пробует ли программа работать через следующий прокси в списке ? 2) Помечает ли как-то программа (для себя) нерабочие прокси ? А то брут форс идет, и постоянно мелькают такие сообщения Process 3505: Can not connect [unreachable], retrying (1 of 1 retries) Process 3505: Can not connect [unreachable] [ERROR] Child with pid 3505 terminating, cannot connect И я не могу понять, толи такие запросы все равно выполнятся, но через следующий прокси в списке. Либо просто попытка помеается как неуспешная из-за нерабочего прокси. Спасибо.
добавь флаг -d (debug mode) гидра расскажет к какой проксе подключается и что происходит Spoiler Code: if (debug) printf("DEBUG_CONNECT_OK\n"); .............. if (hydra_strcasestr(proxy_string_type, "connect") || hydra_strcasestr(proxy_string_type, "http")) { if (proxy_authentication == NULL) if (host[0] == 16) snprintf(buf, 4096, "CONNECT [%s]:%d HTTP/1.0\r\n\r\n", hydra_address2string(host), port); else snprintf(buf, 4096, "CONNECT %s:%d HTTP/1.0\r\n\r\n", hydra_address2string(host), port); else if (host[0] == 16) snprintf(buf, 4096, "CONNECT [%s]:%d HTTP/1.0\r\nProxy-Authorization: Basic %s\r\n\r\n", hydra_address2string(host), port, proxy_authentication); else snprintf(buf, 4096, "CONNECT %s:%d HTTP/1.0\r\nProxy-Authorization: Basic %s\r\n\r\n", hydra_address2string(host), port, proxy_authentication); send(s, buf, strlen(buf), 0); recv(s, buf, 4096, 0); if (strncmp("HTTP/", buf, 5) == 0 && (tmpptr = index(buf, ' ')) != NULL && *++tmpptr == '2') { if (debug) printf("DEBUG_CONNECT_PROXY_OK\n"); } else { if (debug) printf("DEBUG_CONNECT_PROXY_FAILED (Code: %c%c%c)\n", *tmpptr, *(tmpptr + 1), *(tmpptr + 2)); if (verbose) fprintf(stderr, "[ERROR] CONNECT call to proxy failed with code %c%c%c\n", *tmpptr, *(tmpptr + 1), *(tmpptr + 2)); err = 1; }