1. IP 트래픽 목적지
- 맥스마인드(MaxMind)에서 무료로 제공하는 데이터베이스를 통해 IP주소가 실제로 어느 물리적 장소에 위치하는 지 알 수 있음
- GeoLiteCity 데이터베이스를 통해 IP 주소의 주, 우편번호, 국가이름, 위도 및 경도 같은 좌표 표시 가능
- 현재 maxmind에서는 무료배포되지 않음(아래 사이트에서 파일 다운로드) - 해당 환경에서 직접다운로드
https://ko.osdn.net/projects/sfnet_lempelf/downloads/packages/GeoLiteCity.dat.gz/
- gunzip GeoIP.dat.gz
1) PyGeoIP로 IP주소를 물리적 위치로 표시하기
- pygeoip라이브러리 다운
- GeoIP 클래스를 압축 해제한 데이터베이스가 있는 위치에서 실체화함.
- IP주소를 입력 후 특정 기록이 있는 지 데이터 베이스를 쿼리함.
오류 : database(city)에 문제가 있는 것으로 보임..
--->
다시 처음부터.
(1) 파일 다운로드
https://ko.osdn.net/projects/sfnet_lempelf/downloads/packages/GeoLiteCity.dat.gz/
(2) 압축 해제
(3) geoip-database 설치 (이전에 이 문제로 오류가 났던 것으로 보임..)
(4) 임의의 위치로 이동
(5) pygeoip 설치(이미 되어있음)
(6) python printGeo.py 실행 - 지역이름에 문제가 있음.
(7) 지역이름을 출력 안하도록 수정
(8) 결과값
==> 결과 나온 것으로 일단 만족. 추후에 코드 수정하는 걸로,,
2) Dpkt로 패킷 분석하기
- Scapy와 비슷한 기능 제공
- Scapy : 네트워크 패킷을 보내구, 훔치고 또는 패킷을 위조할 수 있는 파이썬 프로그램.
> 네트워크를 점검하거나 스캔하거나 공격하도록 할 수 있음.
- Dpkt : 캡쳐에 있는 각 패킷을 읽어와서 패킷의 프로토콜 층을 살펴볼 수 있도록 해줌.
- pcap 파일 읽기
> 파일을 실체화한후 pcap.reader클래스 객체를 생성한 후 이 객체를 printPcap() 함수에 전달함.
> pcap 객체에는 배열이 있는데, 이 배열에는 [timestamp, packer]기록이 저장되어 있음.
> 그 다음, 각 패킷을 이더넷과 ip 레이어로 분리함
> socket 라이브러리를 사용하여 inet에 저장되어 있는 ip 주소를 단순한 문자열로 반환함.
pcap 캡쳐하기
- 와이어샤크 이용
- save창이 나오면 저장파일 형식, 이름, 위치를 지정 후 저장
스크립트 실행 : 소스 IP와 목적지 IP가 화면에 출력됨.
+ ip주소에 대한 실제 물리적 위치 반환
- 함수에서 예외가 발생할 경우 주소가 등록되어 있지 않다는 메시지를 반환.
- 주소가 GeoLiteCity 데이터베이스에 없는 경우나 아니면 예제의 192.168.1.3과 같은 사설 ip가 처리 가능해짐.
서울 -> 등록되지않음 or 등록되지않음 -> 서울
2) 파이썬으로 구글 지도 만들기
- 구글어스 : 가상 지구, 지도, 지리적 정보를 제공함
사용자가 KML 확장자로 텍스트파일을 만들면 다양한 표시를 구글 어스에 통합시킬 수 있음
- retKML() :
> IP주소를 입력 받아서 해당 위치에 대한 특정 KML구조를 반환함.
> pygeoip를 이용하여 ip주소를 위도와 경도로 먼저 변환함
> 해당 위치에 대한 KML을 만듦.
> "location not found"같은 예외가 발생하면 빈 문자열 반환함
>> KML헤더와 푸터를 추가할 수 있게 됨.
- 각 패킷마다 소스IP와 목적지 IP를 위한 KML 표시를 생성하고 지도에 표시함 > 네트워크 트래픽을 시각화 가능
kml파일을 만드는 스크립트 : googleearthpcap.py
+ 앞서 만든 pcap 캡처파일 : geotest.pcap
>> kml 파일 출력함
>> 출력된 내용을 복사하여 kml 형식의 파일을 만들어 저장함.
구글어스
> kali에서 패킷 캡처한 파일을 바탕으로 아이피를 얻어서 kml파일 형식의 문서로 만든 후 구글어스에서 열었더니, 아이피에 해당하는 위치정보를 출력해줌.
'Security' 카테고리의 다른 글
무선 기기 해킹 (0) | 2020.03.22 |
---|---|
2. 네트워크 트래픽 분석 (0) | 2020.03.21 |
포렌식 수사(메타데이터) (0) | 2020.03.13 |
컨피커, 노력하면 된다 (0) | 2020.03.12 |
침투테스트(FTP와 웹을 이용한 대규모 공격) (0) | 2020.03.11 |