Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/bernsteining/instaloctrack
OSINT (Open Source Intelligence)ReconnaissanceInformation GatheringSocial EngineeringCrawlerArchived
GitHubbernsteining/instaloctrack

instaloctrack

인스타그램 프로필에서 사용 가능한 모든 지오태깅된 위치를 수집하여 지도에 표시하고 JSON으로 덤프하는 인스타그램 OSINT 도구입니다.

저장소 보기
320616년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
instaloctrack — 인스타그램 프로필에서 사용 가능한 모든 지오태깅된 위치를 수집하여 지도에 표시하고 JSON으로 덤프하는 인스타그램 OSINT 도구입니다. | 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 프로필
  -p PASSWORD, --password PASSWORD
                        로그인할 Instagram 프로필의 비밀번호
  -v, --visual          Chromium GUI 실행, 그렇지 않으면 Chromium 헤드리스 모드

예시:

root@kitploit:~
instaloctrack -t <대상_계정>

대상 프로필이 비공개이고 대상 프로필을 팔로우하는 계정이 있다면, 로그인 세션으로 데이터를 스크래핑할 수 있습니다:

root@kitploit:~
instaloctrack -t <대상_계정> -l <내_계정> -p <내_비밀번호>

또는 Docker 사용:

root@kitploit:~
sudo docker run -v /tmp/output:/tmp/output instaloctrack -t <대상_계정> -o /tmp/output

⚙️ 작동 방식

먼저, selenium의 webdriver를 이용해 전체 Instagram 프로필을 스크롤하며 계정의 모든 사진 링크를 수집합니다.

그런 다음, 비동기(asyncio)로 각 사진 링크를 가져와 사진 설명에 위치 정보가 포함되어 있는지 확인하고, 있으면 위치 데이터와 타임스탬프를 추출합니다.

  • 참고: 2018년 이후 Instagram이 위치 API를 폐기하여 사진의 GPS 좌표를 더 이상 얻을 수 없습니다. 얻을 수 있는 것은 위치 이름뿐입니다. (제가 틀렸다는 것을 증명할 수 있다면 알려주세요!)

Instagram이 GPS 좌표를 제공하지 않기 때문에, 위치 이름만으로 GPS 좌표를 얻기 위해 지오코딩을 수행해야 합니다.

이를 위해 OpenStreetMap을 사용하는 Nominatim의 훌륭한 API를 사용했습니다. 사용 시 API 키가 필요 없으며, Nominatim 사용 정책을 준수하여 1초에 한 번씩 GPS 좌표를 요청합니다.

마지막으로, 모든 GPS 좌표를 확보하면 jinja2 템플릿을 사용하여 Leaflet 라이브러리로 OpenStreetMap을 표시하고 모든 위치를 표시하는 HTML을 생성합니다. 이 단계에서도 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 사용
  • 진행 표시줄로 인한 이상한 공백 제거
  • Nominatim 실패 시 다른 지오코딩 도구 사용 (예: https://geo.api.gouv.fr/adresse) (인자 지정?)
    • geopy 사용?
    • Nominatim 대신 Overpass 사용?
  • 특정 사진 집합만 선택할 수 있는 인자 추가 (날짜 또는 순서 기준)
  • 스크립트 실행 시간 정보
도구 다운로드