> For the complete documentation index, see [llms.txt](https://webscout.gitbook.io/webscout-ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://webscout.gitbook.io/webscout-ru/moduli-hostsbruterdict-hostsbrutermask-i-hostsbrutercombine.md).

# \[M] HostsDict, HostsMask и HostsCombine

## Общее описание

Используются для поиска веб-хостов на серверах напрямую, без участия DNS. Работа данных модулей сводится к тому, чтоб отправлять HTTP запросы на целевой IP-адрес подставляя искомые имена в заголовок «Host». Функционал может пригодиться для обнаружения служебных хостов имеющих DNS записи на внутренних DNS серверах (или вообще без них). Или для хостов которые перенесли на другой IP, а на старом не были удалены.

Поиск производится по маске, словарю и в комбинированном режиме (маска + словарь).

Модули работают только в raw режиме.

## Примеры

Поиск виртуального хоста на веб-сервере по словарю:

```
./ws.py HostsDict --ip 82.146.56.21 --dict bases/demo/dict.txt --template @.hostsbrute.polygon.web-scout.online --false-re "Ubuntu Default Page"
```

Поиск виртуального хоста на веб-сервере по маске:

```
./ws.py HostsMask --ip 82.146.56.21 --mask ?l,1,4 --template @.hostsbrute.polygon.web-scout.online --false-re "Ubuntu Default Page"
```

## Опции (\* - обязательные)

| Имя                   | По умолчанию | Описание                                                                                                                                                               |   |   |
| --------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | - |
| --template \*         |              | Шаблон перебора. Маркировочным символом (@ по умолчанию) в нём отмечается то место, куда будет помещена проверяемая фраза. Примеры:  «@.site.com», «@-admin.site.com». |   |   |
| --dict \*             |              | Для HostsDict. Путь к словарю для перебора.                                                                                                                            |   |   |
| --mask \*             |              | Для HostsMask. Маска для перебора.                                                                                                                                     |   |   |
| --combine-template \* |              | Для HostsCombine. Шаблон для комбинированного поиска. Строка с вхождениям маркеров «%m%» и «%d%» на чьё место подставляются слова из маски и словаря соответственно.   |   |   |
| --ip \*               |              | Целевой IP-адрес.                                                                                                                                                      |   |   |
| --false-re \*         |              | RegEx (python.re), при наличии совпадений в теле ответа свидетельствующая об отрицательном результате.                                                                 |   |   |
| --false-size \*       |              | Размер тела отрицательного ответа. Помните что разные утилиты могут давать разный размер ответа. Используйте тестовый режим чтобы узнать нужное вам значение.          |   |   |
| --http-protocol       | http         | Протокол для отправки HTTP GET / запросов к целевому серверу. «http»/«https».                                                                                          |   |   |
| --msymbol             | @            | Маркировочный символ для шаблона поиска.                                                                                                                               |   |   |
| --proxies             |              | Файл со списком http-proxy.                                                                                                                                            |   |   |
| --retest-re           |              | Регулярное выражение (python.re) для поиска в ответе сервера признака необходимости переотправить запрос. Например «Service Temporarily Unavailable».                  |   |   |
| --retest-codes        |              | Набор кодов (через запятую) указывающих на то, что запрос нужно отправить заново. Например «502,503».                                                                  |   |   |
| --headers-file        |              | Файл с http заголовками для включения в заголовки запроса.                                                                                                             |   |   |
| --delay               | 0            | Задержка между запросами (в секундах). Касается не всех рабочих потоков в целом, а каждого потока в частности.                                                         |   |   |
| --threads             | 10           | Количество рабочих потоков                                                                                                                                             |   |   |
| --parts               |              | На сколько частей разбить проверяемый список (словарь, маску)                                                                                                          |   |   |
| --part                |              | С какой из частей проверяемого списка работаем.                                                                                                                        |   |   |
| --test                | 0            | Включение тестового режима                                                                                                                                             |   |   |
| --xml-report          |              | Путь к xml-отчёту                                                                                                                                                      |   |   |
