Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
instaloctrack — Инструмент OSINT для Instagram, который собирает все геотегированные места, доступные в профиле Instagram, чтобы отобразить их на карте и выгрузить в JSON. | Kitploit
Инструменты/GitHubGitHub/bernsteining/instaloctrack
OSINT (Разведка открытых источников)РазведкаСбор информацииСоциальная инженерияКраулерArchived
GitHubbernsteining/instaloctrack

instaloctrack

Инструмент OSINT для Instagram, который собирает все геотегированные места, доступные в профиле Instagram, чтобы отобразить их на карте и выгрузить в JSON.

Репозиторий
32061126 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

instaloctrack

TL;DR : ascineema, видео проекта

Инструмент для сбора геотегированных местоположений из профилей Instagram. Вывод в формате JSON и интерактивная карта.

требования

root@kitploit:~
sudo apt install chromium-chromedriver && chmod a+x /usr/bin/chromedriver

🛠️ установка

root@kitploit:~
git clone https://github.com/bernsteining/instaloctrack
cd instaloctrack
pip3 install .

Или используйте Docker:

root@kitploit:~
sudo docker build -t instaloctrack -f Dockerfile .

Использование

root@kitploit:~
instaloctrack -h
usage: instaloctrack [-h] [-t TARGET_ACCOUNT] [-l LOGIN] [-p PASSWORD] [-v]

Инструмент сбора данных о местоположении из Instagram. Использование: python3 instaloctrack.py -t <целевой_аккаунт>

необязательные аргументы:
  -h, --help            показать это справочное сообщение и выйти
  -t TARGET_ACCOUNT, --target TARGET_ACCOUNT
                        Профиль Instagram для исследования
  -l LOGIN, --login LOGIN
                        Профиль Instagram для подключения, чтобы получить доступ
                        к постам Instagram целевого аккаунта
  -p PASSWORD, --password PASSWORD
                        Пароль от профиля Instagram для подключения
  -v, --visual          Запускает графический интерфейс Chromium, иначе Chromium работает в безголовом режиме

например

root@kitploit:~
instaloctrack -t <target_account>

Если целевой профиль является закрытым и у вас есть аккаунт, подписанный на целевой профиль, вы можете собрать данные через авторизованную сессию:

root@kitploit:~
instaloctrack -t <target_account> -l <your_account> -p <your_password>

или с помощью Docker:

root@kitploit:~
sudo docker run -v /tmp/output:/tmp/output instaloctrack -t <target_account> -o /tmp/output

⚙️ Как это работает

Сначала мы получаем все ссылки на изображения аккаунта, прокручивая весь профиль Instagram с помощью веб-драйвера Selenium.

Затем мы асинхронно (asyncio) обрабатываем каждую ссылку на изображение, проверяем, содержит ли описание изображения местоположение, и извлекаем данные о местоположении, если оно есть, а также временную метку.

  • Примечание: Начиная с 2018 года Instagram прекратил поддержку своего API местоположений, и теперь невозможно получить GPS-координаты изображения; все, что мы можем получить, — это название места. (Если вы можете доказать, что я ошибаюсь, сообщите мне!)

Поскольку Instagram не предоставляет GPS-координаты, а мы получаем только названия мест, нам нужно их геокодировать (т.е. получить GPS-координаты по названию места).

Для этого я использовал отличный API Nominatim, который использует OpenStreetMap. Для нашего использования не требуется ключ API, и мы соблюдаем Политику использования Nominatim, запрашивая GPS-координаты один раз в секунду.

В конце концов, когда у нас есть все GPS-координаты, мы генерируем HTML-файл (с помощью шаблонизатора jinja2) со встроенным Javascript, который отображает Open Street Map (благодаря библиотеке Leaflet) со всеми нашими отмеченными местоположениями. И снова для этого шага не требуется ключ API.

Кроме того, данные, собранные скриптом (названия мест, временные метки, GPS-координаты, ошибки), сохраняются в JSON-файл для последующего использования.

Пример

В качестве примера приведен вывод для профиля бывшего президента Франции в Instagram @fhollande:

Map of @fhollande's locations on Instagram

Тепловая карта:

Heatmap of @fhollande's locations on Instagram

Информация, доступная при нажатии на маркер:

available data when clicking on a marker

Статистика по данным о местоположениях:

stats about the location data

Дамп данных JSON (только часть, чтобы показать формат для конкретного местоположения):

root@kitploit:~
{
    "link": "https://www.instagram.com/p/-Q_9EvR9eu",
    "place": {
      "id": "290297",
      "name": "Musée du quai Branly - Jacques Chirac",
      "slug": "musee-du-quai-branly-jacques-chirac",
      "street_address": " 37 quai Branly",
      " zip_code": " 75007",
      " city_name": " Paris",
      " region_name": " ",
      " country_code": " FR"
    },
    "timestamp": "2015-11-19",
    "gps": {
      "lat": "48.8566969",
      "lon": "2.3514616"
    }
  }

Возможные улучшения

  • Более чистый код :D
  • Вынести геокодирующую функцию, которая слишком длинная и запутанная
  • Использовать beautifulsoup вместо парсинга регулярными выражениями
  • Убрать странный пробел, вызванный индикатором прогресса
  • Использовать другие инструменты геокодирования (например, https://geo.api.gouv.fr/adresse) вместо Nominatim, если он не срабатывает? (указать аргумент?)
    • Использовать geopy?
    • Использовать Overpass вместо Nominatim?
  • Добавить аргумент для выбора только определённого набора изображений (по дате или по порядку)
  • Информация о времени выполнения скрипта
Скачать инструмент