PHP Ip Logger 만들기 | 링크를 사용하여 방문자의 IP를 수집하는 방법

오늘은 PHP를 사용하여 링크를 통해 사이트 접속 시 방문자의 아이피를 수집하는 IP 로거를 제작해보겠습니다

 

IP Logger란?

IP LOGGER의 사용목적은 각각 다르겠지만 특정 사용자를 식별하기 위해 방문자의 정보를 저장하는 목적과 악의적으로 아이피를 취득해 악용하는 사람들도 있습니다

 

대부분의 웹사이트에서는 사용자를 식별하기 위한 정보를 수집하고 있습니다

예를 들면

  • 방문자 IP
  • 브라우저의 유형 및 버전
  • 운영체제의 언어 및 시간대

사이트마다 다르지만 일부 사이트는 정보를 따로 수집 후에 로그로 남겨놓지 않는 경우도 있지만 이는 매우 극소수입니다

사이트가 이러한 정보들을 수집한다고 하면 걱정되는 문제가 있을 겁니다

 

누군가가 나의 IP주소를 통해 나의 집주소를 알 수 있지 않을까??

이는 걱정하지 않으셔도 됩니다 대부분의 가정집에서 사용하는 IP는 ISP에서 할당하는 주소이므로 whois 같은 사이트에 아이피를 입력 후에 위치를 조회해봐도 집주소가 아닌 ISP의 주소가 나오는 경우가 많습니다 또 ISP에서 클라이언트에게 IP주소를 동적으로 할당하기 때문에 사용하는 평생 고정되는 게 아니라 IP는 바뀔 수도 있습니다

 

그럼 해커들은 어떻게 위치추적을 할 수 있을까요?

해커들은 피해자의 라우터를 손상시키거나 트래픽이 암호화되지 않은 네트워크를 통해 로컬 네트워크의 컴퓨터를 공격할 경우 사용자를 특정하거나 집주소와 연관된 문서를 찾아 위치를 알 수 있습니다 또한 geolocation를통해 정확한 현재 위치를 알아낼 수도 있습니다. 라우터와 컴퓨터의 보안 취약점으로부터 예방하고 업데이트를 통해 최신 상태를 유지한다면 이러한 일들을 조금이나마 예방할 수 있습니다

 

PHP로 IP logger 웹사이트 만들기

IP Logger를 통하여 방문자의 IP뿐만 아니라 브라우저 정보나 기타 정보도 얻을 수 있지만 악용의 소지도 있기 때문에 이번 포스팅에서는 IP취득만을 중점으로 두고 제작했습니다 또 사용자의 동의 없이 절대 IP로거를 사용하여 불법적으로 사용하지 마세요

 

PHP만 사용하면 되므로 저는 리눅스 OS 환경으로 진행하겠습니다

윈도우 환경에서 따라와 주셔도 상관없습니다

 

따로 호스팅을 등록하는 게 아니라 서버 오픈 시 아파치를 사용할 거기 때문에 cd /var/www/html 명령어를 통해

바로 아파치의 폴더의 경로로 이동시켜줍니다

 

nano,vi,gedit 아무 에디터나 상관없이 현재 경로에 원하는 이름. php로 새 파일을 생성해줍니다

 

//부분은 코드별 간단한 설명을 위해 주석 처리하여 설명한 거고

//를 제외한 코드 부분을 입력하신 다음에 저장해주시면 됩니다

 

이제 아파치 서비스를 실행시켜줍니다

 


아파치가 실행되었으면 ifconfig 명령을 통해 본인의 아이피를 확인합니다

 

이제 브라우저를 연후에 주소창에 다음과 같이 입력해줍니다

 

예 : 192.168.253.131/iplogger.php

 

아이피 부분은 ifconfig를 입력 시에 나오는 본인에게 아이피를 입력하거나 루프백 IP주소인 127.0.0.1을 입력하고

뒷부분은 PHP문을 작성한 파일의 이름을 입력해주시면 됩니다

 

사이트를 방문 시에 나오는 화면입니다

이제 다시 터미널로 돌아가 html폴더를 확인해볼까요??

 

ls 명령어를 사용하여 현재 디렉터리의 파일들을 확인해주세요

제가 표시한 부분을 보면 log.txt라고 새롭게 생성된 파일이 있을 거예요

해당 파일의 내용을 확인해봅시다

 

제가 방문해서 저의 아이피 주소가 이렇게 로그로 남게 되었습니다!

아이피 주소가 출력되고 줄 바꿈까지 원한다면 다시 코드로 돌아가서

. "\n" 을 추가해주시면 줄 바꿈이 됩니다

또한 가지 추가적으로 외부에서 접속했을 경우 한 명이 아니라 다수가 접속할 경우에는 모두 아이피를 수집해줘야 하는데

이게 무슨 말이냐 하면

 

빨간색은 기존에 있던 코드인데 마지막 접속자의 아이피만 기록하고 이전에 기록했던 내용은 사라집니다

아래 초록색 부분처럼 모든 로그를 기록하기 위해서는 fopen 포맷의 옵션을 a로 바꿔주면 됩니다

w는 파일의 시작 부분부터 쓰기 시작하고 a는 파일의 끝부분부터 쓰기 때문에 이러한 현상이 나타납니다

 

이렇게 바꾸고 난 후에는 정상적으로 접속했던 모든 로그들이 기록되기 시작합니다

 

 

더많은 콘텐츠

Top