Найти тему
Securitylab.ru

Использование поисковых операторов для получения более точных результатов

Автор: Kody

Гугл проиндексировал невероятно большое количество сайтов, однако часто в результатах поиска содержится множество нерелевантной информации, поскольку алгоритмы ищут совершенно не то, что вы подразумевали запросе. С другой стороны, при помощи правильных операторов мы можем уточнить результаты и найти статьи, привязанные к нужному времени публикации, или другую информацию, которую сложно найти обычным образом.

Если вы когда-либо искали ответ по теме программирования, то возможно получали множество нерабочих ответов. Или сталкивались с недостатками Гугла, когда пытались найти кого-то по имени, совпадающим с именем известного человека. Поскольку по умолчанию методы поиска расходятся с напечатанным в поисковом поле, часто можно получить много нерелевантных результатов.

Типы запросов, плохо работающих в Гугле

Многое Гугл делает хорошо, однако при поиске ответов на определенные типы вопросов сразу же открываются недостатки этой поисковой системы. Например, если мы попытаемся выяснить, почему возникла ошибка Python, то сразу же столкнемся с множеством бесполезных результатов.

Рисунок 1: Устаревшие результаты поиска

Поскольку искомая библиотека часто обновляется, маловероятно, что статья от 2014 года поможет решить нашу проблему, возникшую в 2019 году.

Еще одна проблема, возникающая во время поиска терминов в сфере программирования и других технических областях – результаты могут относиться к совершенно другим тематикам. Если, к примеру, мы ищем стандартную функцию для работы со списками в C++, запрос будет выглядеть примерно так «std :: list». Однако в то же время появится множество нерелевантных результатов, поскольку Гугл игнорирует «::» и возвращает список венерических заболеваний.

-2

Рисунок 2: Множество нерелевантных результатов по запросу «std :: list»

Чтобы не тратить время и внимание на бесполезные результаты, мы можем улучшить качество поиска, разобравшись, как Гугл ищет информацию, и воспользоваться операторами для получения именно тех сведений, которые мы хотим найти.

Что понадобится

Вам потребуется подключение к интернету, браузер и доступ к Гуглу. Мы будем искать информацию, которую сложно найти обычным образом, поэтому подойдет любая операционная система, где можно выполнять запросы к Гуглу.

Ниже показан список используемых поисковых операторов.

-3

Рисунок 3: Список поисковых операторов

При помощи правильного оператора в правильном запросе экономится много времени, которое обычно тратится на нерелеватные результаты. Список поисковых операторов можно найти в официальной документации.

Шаг 1. Поиск ответов, имеющих отношение к программированию

Когда вы ищите информацию, касающуюся программного обеспечения, наиболее важный момент – учитывать время публикации, от которого зависит, окажется ли результат полезным. Соответственно, в поисковом запросе нужно поставить фильтр по дате, отсекающий все устаревшие сведения.

Рассмотрим поиск ответов, посвященных Python, как одному из наиболее распространенных языков программирования. Python постоянно обновляется и меняется, и на данный момент несколько версий являются рабочими, в результате чего публикации десятилетней давности окажутся безнадежно устаревшими и неточными, особенно если вы используете недавно выпущенный релиз.

Таким образом, первое, что нужно учесть при поиске ответа – будет ли слишком старая статья для вас полезной. Установив фильтр, отсекающий все старое, мы получим больше релевантных результатов. С другой стороны, если мы ищем ответ, касающийся старой библиотеки, то можем ограничить поиск статьями, появившимися до определенной даты, прежде чем вышла новая версия программного обеспечения.

Есть два способа указать дату. Первый – зайти в раздел «Tools» и вместо «Any time» указать «Past year». Второй – использовать операторы before:date и after:date для ограничения статей, опубликованных до или после определенной даты.

-4

Рисунок 4: Пример фильтрации результатов поиска по дате

Дата публикация – только первая часть паззла. Мы также можем соединять операторы вместе для указания источника данных. Если, к примеру, мы ищем информацию о методе «Scapy_Exception», первый результат будет устаревшим, а все остальные – из ненадежных источников.

Предположим, мы хотим получить ответы на сайтах с хорошей репутацией или, как минимум, из источников, где нет всякого мусора. В этом случае мы можем добавить несколько сайтов, используя оператор site: и оператор OR, чтобы соединить несколько источников вместе.

site:stackoverflow.com OR site:stackexchange.com OR site:github.com OR site:gitlab.com after:2018 "Scapy_Exception"

Добавив выражение after:2018, в результатах поиска мы оставляем только статьи, опубликованные после 2018 года.

-5

Рисунок 5: Фильтрация результатов поиска по источнику и дате

Теперь результаты только из качественных источников и ограничены по дате, а мы экономим массу времени.

Шаг 2: Удаление ненужных результатов

Предположим, требуется удалить ненужные результаты в примере с поисковой фразой «std :: list», рассмотренным ранее. Самый простой способ решить эту задачу – воспользоваться оператором «-» и указать фразы, которых не должно быть в результатах поиска.

Когда мы имеем дело с аббревиатурами – наиболее эффективно исключить результаты, содержащие слова с неправильной интерпретацией. В нашем случае выражения «-transmitted» вполне достаточно для удаления результатов, связанных с заболеваниями, передаваемыми половым путем.

-6

Рисунок 6: Удаление результатов, связанных с венерическими заболеваниями, из запроса «std :: list»

Мы также можем исключить из поиска определенные сайты, которые связаны с множеством ошибочных результатов. Указав три сайта, появляющихся наиболее часто, получаем результаты, схожие с рисунком выше.

-7

Рисунок 7: Исключение сайтов с ошибочными результатами

Оба вышеупомянутых метода эффективны для удаления результатов, загромождающих поисковую выдачу.

Шаг 3. Поиск файлов на указанных доменах

Мы также можем поискать интересующие файлы, комбинируя операторы site и filetype. В некоторых случаях можно даже найти файлы, которые не предполагалось делать доступными. При поиске официальной документации в первую очередь следует начать с PDF файлов.

На рисунке ниже показан пример поиска в домене spacex.com на предмет наличия PDF файлов, где упоминается слово «internal» с целью поиска документов с описанием внутренних процедур

-8

Рисунок 8: Пример поиска PDF файлов на сайте spacex.com

Также можно попробовать поискать презентации для Powerpoint, заменив PDF на PPTX, или файлы для Word, указав расширение DOCX, или любой другой нужный вам формат. Если нужно поискать по списку доменов, то можно сделать цепочку операторов site в связке с оператором OR.

Шаг 4. Расширенный поиск

Расширенный поиск чуть более сложен, чем просто добавление операторов в стандартном поисковом поле, однако вы всегда можете получить доступ к этим опциям, воспользовавшись графическим интерфейсом на странице Advanced search.

Используя этот интерфейс, вы можете указать любую комбинацию операторов при создании структурированного поискового запроса. Тема рассматривается скорее как ознакомительная, и на практике в основном используются несколько операторов.

-9

Рисунок 9: Форма для создания сложных поисковых запросов

К полезным опциями можно отнести язык и регион, которые помогут отфильтровать результаты, имеющие отношение к определенной стране или созданные на определенном языке.

Заключение

Соединяя вместе разные поисковые операторы, мы убираем нерелевантные результаты и получаем как можно более точный ответ на свой запрос. Этот навык полезен не только хакерам, но и всем, кто ищет информацию, привязанную ко времени, касаемо технологий или программного обеспечения. Более продвинутая технология поиска, именуемая как Google Dorking, позволяет при помощи тех же операторов искать уязвимые системы, когда указывается определенный текст, который содержат проиндексированные страницы (например, страницы авторизации или конфигурационные файлы).

Надеюсь, это руководство, посвященное использованию поисковых операторов, вам понравилось.