Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
instaloctrack — Uno strumento OSINT per Instagram per raccogliere tutte le posizioni geotaggate disponibili su un profilo Instagram al fine di tracciarle su una mappa e salvarle in un JSON. | Kitploit
Strumenti/GitHubGitHub/bernsteining/instaloctrack
OSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniIngegneria SocialeCrawlerArchived
GitHubbernsteining/instaloctrack

instaloctrack

Uno strumento OSINT per Instagram per raccogliere tutte le posizioni geotaggate disponibili su un profilo Instagram al fine di tracciarle su una mappa e salvarle in un JSON.

Vedi Repository
320616 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

instaloctrack

TL;DR : ascineema, video del progetto

Uno strumento per estrarre posizioni geotaggate dai profili Instagram. Output in JSON e mappa interattiva.

requisiti

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

🛠️ installazione

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

Oppure usa Docker:

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

Utilizzo

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

ad es.

root@kitploit:~
instaloctrack -t <target_account>

Se il profilo target è privato e hai un account che lo segue, puoi estrarre i dati con una sessione connessa:

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

oppure con Docker:

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

⚙️ Come funziona

Prima recuperiamo tutti i link delle foto dell'account scorrendo tutto il profilo Instagram grazie al webdriver di Selenium.

Poi recuperiamo in modo asincrono (asyncio) ogni link della foto, controlliamo se contiene una posizione nella descrizione della foto e, in caso affermativo, recuperiamo i dati della posizione e il timestamp.

  • NB: Dal 2018 Instagram ha deprecato la sua API per le posizioni e non è più possibile ottenere le coordinate GPS di una foto; tutto ciò che possiamo recuperare è il nome della posizione. (Se puoi dimostrarmi che mi sbaglio, per favore dimmelo!)

Poiché Instagram non fornisce coordinate GPS e abbiamo solo nomi di luoghi, dobbiamo geocodificarli (cioè ottenere le coordinate GPS dal nome del luogo).

Per questo ho usato l'ottima API di Nominatim, che utilizza OpenStreetMap. Per il nostro uso non è richiesta alcuna chiave API e rispettiamo la Politica di utilizzo di Nominatim richiedendo coordinate GPS una volta al secondo.

Alla fine, una volta ottenute tutte le coordinate GPS, generiamo un HTML (grazie al templating di jinja2) con JavaScript incorporato che traccia una mappa OpenStreetMap (grazie alla libreria Leaflet) con tutte le nostre posizioni fissate. Anche in questo caso non è richiesta alcuna chiave API.

Inoltre, i dati raccolti dallo script (nomi delle posizioni, timestamp, coordinate GPS, errori) vengono salvati in un file JSON per essere riutilizzati.

Esempio

Come esempio, ecco l'output sul profilo Instagram dell'ex presidente francese, @fhollande:

Mappa delle posizioni di @fhollande su Instagram

La mappa di calore:

Mappa di calore delle posizioni di @fhollande su Instagram

Informazioni disponibili quando si clicca su un marcatore:

dati disponibili quando si clicca su un marcatore

Statistiche sui dati di posizione:

statistiche sui dati di posizione

Il dump dei dati JSON (solo una parte per mostrare il formato di una posizione):

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"
    }
  }

Possibili miglioramenti

  • Codice più pulito :D
  • Riscrivere la funzione di geocodifica che è decisamente troppo lunga e criptica
  • Usare BeautifulSoup invece del parsing con regex
  • Rimuovere lo strano spazio bianco causato dalla barra di progresso
  • Usare altri strumenti di geocodifica (es. https://geo.api.gouv.fr/adresse) al posto di Nominatim quando fallisce? (specificare arg?)
    • Usare geopy?
    • Usare Overpass invece di Nominatim?
  • Aggiungere un argomento per selezionare solo un insieme di foto (selezionate per data o ranking)
  • Informazioni temporali sulla durata dello script
Scarica lo strumento