Тема: Hehdirb
Показать сообщение отдельно
Старый 15.06.2017, 00:56   #4
Beched
 
Регистрация: 06.07.2010
Сообщений: 395
Репутация: 118
По умолчанию

Цитата:
Сообщение от sT1myL Посмотреть сообщение
"Это альтернатива https://github.com/maurosoria/dirsearch
Судя по https://github.com/maurosoria/dirsearch/blob/master/lib/connection/Requester.py#L130 -- не совсем. Эта тулза не делает пайплайнинг. Но скорость не тестил. Может, за счёт более правильного кода в остальном, она в итоге и шустра =)

Цитата:
Сообщение от crlf Посмотреть сообщение
Больше, в смысле быстрее? Можно пример на пальцах?
Ага, пример вот:

Код:
$ python hehdirb.py -d tzar2.txt -k 100 -u https://ya.ru/
WARNING:root:Calculated Keep-Alive for https://ya.ru/: 100
WARNING:root:Path https://ya.ru:443/, response code 200, content-length 10422, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/tabs, response code 200, content-length 10426, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/?-s=, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/?x=&x[]=, response code 200, content-length 10422, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/set, response code 301, content-length 178, content-type text/html
WARNING:root:Path https://ya.ru:443/portal, response code 301, content-length 178, content-type text/html
WARNING:root:Path https://ya.ru:443/portal/, response code 403, content-length 12407, content-type text/html; charset=utf-8
WARNING:root:Path https://ya.ru:443/data, response code 301, content-length 178, content-type text/html
WARNING:root:Path https://ya.ru:443/robots.txt, response code 200, content-length 2561, content-type text/plain; charset=utf-8
WARNING:root:Path https://ya.ru:443/favicon.ico, response code 200, content-length 1150, content-type image/x-icon
WARNING:root:Path https://ya.ru:443/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000, response code 200, content-length 10422, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/white, response code 200, content-length 478, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/?__debugger__=yes&cmd=resource&f=style.css, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/data/debug/, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/, response code 200, content-length 10426, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/%2e%2e//google.com, response code 400, content-length 166, content-type text/html; charset=utf-8
WARNING:root:Path https://ya.ru:443/data/files/, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/data/logs/, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/%2e%2e//ya.ru, response code 400, content-length 166, content-type text/html; charset=utf-8
WARNING:root:Path https://ya.ru:443/data/backups/, response code 200, content-length 10422, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/data/tmp/, response code 200, content-length 10427, content-type text/html; charset=UTF-8
WARNING:root:Path https://ya.ru:443/black, response code 200, content-length 478, content-type text/html; charset=UTF-8
TOTAL TIME 2.86 sec
TOTAL SPEED 3275.20 rps
В локалке выжимает и по 30-40к рпс, но уверен. что это не предел. Из-за вышеупомянутых и иных косяков и всяких фильтраций и антисканов, при массовых сканах часто тупит. Нужно детектить такие ситуации и обходить их.


Ключевое отличие от других тулз в том, что по максимуму используется окно Keep-Alive без задержек при обрыве и задержек на итеративное чтение.
То есть мы сначала определяем, сколько максимально можно запихнуть HTTP-запросов в одну сессию, потом запихиваем сразу все (обычно 100 или 101), а потом читаем сразу все ответы и начинаем новый коннект (а не читаем поочерёдно и реконнектимся по таймауту, когда закончилась сессия).
Beched вне форума   Ответить с цитированием