본문 바로가기

Programming/PHP/JavaScript

PHP로 상대방 IP따기

CISA입니다.

이번 강의는 PHP로 상대방을 특정 웹 사이트로 접속하게끔 유도하여 IP를 따는법을 가르쳐드리려고 합니다.




[작동 원리]

클라이언트-서버 상호간의 TCP Connection이 이루어질 때엔 서로가 서로의 IP 주소를 확인할 수 있습니다.

(쉽게 생각해서 서로 연결되어있다고 생각 하시면 됩니다.

서로 연결되어있을때 통신을 하기때문에 서로 IP주소를 확인 할 수 있는 것입니다.)

상대방의 IP는 여러 방법으로 참조할 수 있는데, 예를 들어 PHP 언어에선 $REMOTE_ADDR 이라는 전역 변수가
상대방 IP에 대한 정보를 담고 있습니다.

이 서비스에서 제공하는 웹 페이지는 상대방이 접속했을 때 이 $REMOTE_ADDR 값을 서버에 저장하는 기능을 
가지고 있습니다. 

참고로 상대방에게 보여줄 뉴스, 블로그 등의 주소는 단지 상대방의 의심을 피하기 위한 것입니다. 

쥐습생님의 예시를 들어보자면



"안녕하세요 비쥬얼 베이직 프로그래머 쥐습생 입니다


먼저 준비물을 얄려드리겠습니다
1.FTP접속 가능한 호스팅 서버
2.비쥬얼 베이직
3.메모장
4.PHP지식
먼저 메모장을 키신후
<?PHP
$today = date('y/m/d/ H:i:s', time());
$ip=$_SERVER[REMOTE_ADDR];
$filename="log.txt";
$msg = chr(10).$today." 사용자 IP : ".$ip;
$fo = fopen($filename, "a+");
$content=fread($fo,filesize($filename));
if(eregi($ip,$content)){
exit;
}else{
fwrite($fo, $msg);
fclose($fo);
}
?>

이렇게

적으신후

저장하실때 *.txt 로 되있을떄 모든 파일로 바꾸시고 이름 옆에 log.php를 붙여 주세요

그리고 ftp서버에 업로드 하시고 퍼미션을 777로 설정 하세요
그리고 log.txt 파일을 777권환으로 같이 업로드 해주세요

그리고 비베 소스입력 하실때
WebBrowser1.Navigate2 "http://호스팅 받는곳 주소/log.php"
이렇게 써 넣으세요
아 마이크로소프트 인터넷 콘솔 추가하는것 잊지 마시고요
이러면 끝 입니다
그냥 배포 하시면 됨니다
그리고 ip를 보실려면
http://호스팅 받는곳 주소/log.txt

이지만, PHP설정하고 여러모로 귀찮으므로

간단하게 사이트를 알려드리겠습니다.

작동원리만 이해하셔도 무방합니다.