Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
instaloctrack — Instagramプロフィール上で利用可能なすべての位置情報タグ付きの場所を収集し、それらを地図にプロットし、JSONにダンプするためのInstagram OSINTツール。 | Kitploit
ツール/GitHubGitHub/bernsteining/instaloctrack
OSINT (オープンソースインテリジェンス)偵察情報収集ソーシャルエンジニアリングクローラーArchived
GitHubbernsteining/instaloctrack

instaloctrack

Instagramプロフィール上で利用可能なすべての位置情報タグ付きの場所を収集し、それらを地図にプロットし、JSONにダンプするためのInstagram OSINTツール。

リポジトリを見る
320616年前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 location data gathering tool. Usage: python3 instaloctrack.py -t <target_account>

optional arguments:
  -h, --help            show this help message and exit
  -t TARGET_ACCOUNT, --target TARGET_ACCOUNT
                        Instagram profile to investigate
  -l LOGIN, --login LOGIN
                        Instagram profile to connect to, in order to access
                        the instagram posts of the target account
  -p PASSWORD, --password PASSWORD
                        Password of the Instagram profile to connect to
  -v, --visual          Spawns Chromium GUI, otherwise Chromium is headless

例:

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

⚙️ 仕組み

まず、SeleniumのWebDriverを使用してInstagramプロフィール全体をスクロールし、アカウントのすべての写真リンクを取得します。

次に、各写真リンクを非同期(asyncio)で取得し、写真の説明に位置情報が含まれているか確認し、あれば位置情報データとタイムスタンプを取得します。

  • 注: 2018年以降、Instagramは位置情報APIを非推奨にしており、写真のGPS座標を取得することはできなくなりました。取得できるのは場所の名前のみです。(これが間違っていると証明できる方は、教えてください!)

InstagramはGPS座標を提供せず、場所の名前しかわからないため、これらをジオコーディングする必要があります(つまり、場所の名前からGPS座標を取得します)。

このために、OpenStreetMapを使用するNominatimの素晴らしいAPIを使用しました。この使用ではAPIキーは不要で、1秒に1回GPS座標をリクエストすることでNominatimの利用ポリシーを尊重しています。

最終的に、すべてのGPS座標を取得したら、jinja2テンプレートを使用して、すべての場所をピン留めしたOpen Street Map(Leafletライブラリを使用)をプロットするJavaScriptが埋め込まれたHTMLを生成します。このステップでもAPIキーは不要です。

また、スクリプトで収集されたデータ(場所名、タイムスタンプ、GPS座標、エラー)は、再利用のためにJSONファイルにダンプされます。

例

例として、フランス元大統領のInstagramプロフィール@fhollandeの出力を示します:

Instagram上の@fhollandeの位置情報マップ

ヒートマップ:

Instagram上の@fhollandeの位置情報ヒートマップ

マーカーをクリックしたときに表示されるデータ:

マーカーをクリックしたときに表示されるデータ

位置情報データに関する統計:

位置情報データに関する統計

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
  • ジオコーディング関数を因数分解する(長すぎて難解なので)
  • regex解析の代わりにBeautifulSoupを使用する
  • プログレスバーによって生じる奇妙な空白を削除する
  • Nominatimが失敗した場合、他のジオコーディングツール(例:https://geo.api.gouv.fr/adresse)を使用する?(引数を指定?)
    • geopyを使用する?
    • Nominatimの代わりにOverpassを使用する?
  • 写真のセット(日付またはランクで選択)のみを選択する引数を追加する
  • スクリプトの実行時間に関する情報
ツールをダウンロード