2023. 2. 14. 20:37ㆍ졸논 백업
PyGeoIp란?
maxmind에서 개발한 IP 정보를 얻을 수 있는 툴.
GeoLiteCity.dat이라는 IP 목록과 위치(나라, 도시 등)를 저장한 데이터베이스를 기반으로 동작한다.
원래는 maxmind에서 무료로 배포했지만 GeoIP2로 업데이트되면서 유료가 되었다.
하지만 찾아보면 파일이 있지
사용법
pip install pygeoip
먼저 pygeoip를 설치한다.
그리고 Geolitecity.dat 파일을 검색해서 다운한다. 그럼 이제 준비가 끝났다.
import pygeoip
gi = pygeoip.GeoIP("GeoLiteCity.dat")
gi 객체에 GeoLiteCity 데이터베이스를 먼저 넣는다.
vscode기준 gi.을 쳐보면 지원하는 메서드가 엄청 많이 있는 것을 볼 수 있다. 하나씩 살펴보자..
IP 주소 기준으로 알 수 있는 정보
import pygeoip
gi = pygeoip.GeoIP("GeoLiteCity.dat")
code = gi.country_code_by_addr("159.65.50.3")
name = gi.country_name_by_addr("159.65.50.3")
region = gi.region_by_addr("159.65.50.3")
time = gi.time_zone_by_addr("159.65.50.3")
rec = gi.record_by_addr("159.65.50.3")
print(f"[*] code : {code} \n [*] name : {name} \n [*] region : {region} \n [*] timezone : {time}")
순서대로 메서드 설명을 보면 country_code_by_addr은 입력받은 IP로부터 두글자 국가 이름(US)을 반환한다.
country_name_by_addr은 국가의 풀네임(United States)을 반환한다.
region_by_addr은 국가 코드와 지역 코드(TX-텍사스)를 딕셔너리 타입으로 반환한다.
time_zone_by_addr은 tzdata(타임존 데이터베이스)형태로 시간대를 반환한다.
record_by_addr
returns dictionary with city data containing country_code, country_name, region, city, postal_code, latitude, longitude, dma_code, metro_code, area_code, region_code and time_zone.
'졸논 백업' 카테고리의 다른 글
JavaScript basic (0) | 2023.02.14 |
---|---|
ZeroNet 동작 방식 (0) | 2023.02.14 |
비트토렌트 동작 방식 (0) | 2023.02.14 |
Zeronet content.db structure (0) | 2023.02.14 |
네트워크 트래픽 분석 파이썬 libs (0) | 2023.02.09 |