Цитата:
Сообщение от Fr13nd
Fr13nd said:
↑
Всем привет. На этот раз вопрос по гидре.
Может кто объяснить логику работы программы с прокси листом ?
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) гидра расскажет к какой проксе подключается и что происходит
.SpoilerTarget" type="button">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;
}
|