간단히 말해서, 우리가 흔히 생각하는 무슨 SF 영화 속에서 순식간에 상대의 위치를 알아내고 하는 건 우리가 할 수 있는 일도 아니고, 성공했다고 할지라도 권한 없는 비정상적 접근, 즉 크래킹으로 심하면 빨간 줄이 그이는 일이다.

게임에서 IP 추적을 하겠다고 협박하는 케이스

게임을 즐겁게 하고 있는데 자꾸 어떤 유저가 시비를 건다. 점점 도가 지나치게 시비를 걸고 있어 슬슬 화가 치밀어오르고, 그 유저의 근거지를 알아내고 싶은 생각까지 든다. 그래서 네이버에 IP 추적하기 같은 검색어를 쳐 본다.

어라? SmartSniffer, WireShark 같은 패킷 캡쳐 프로그램들이 보인다. 신나서 받아 실행하고 그 유저한테 귓속말을 보내는 등 나름대로 그 유저와의 직접적인 통신을 수립하려고 노력한다. 아니나 다를까 어떤 IP 주소 하나가 그 유저에게 귓속말을 보낼 때마다 패킷 캡쳐 프로그램에 뜬다. 이제 신나서 그 IP 주소로 몇 시간이고 DoS 공격을 보낸다. 그리고 이렇게 생각한다.

그놈 이제 인터넷이라고는 꿈도 못 꿀 정도로 공격당했겠지? 꼴 좋다 ㅋㅋㅋㅋㅋ

그런데 며칠 후 집에 경찰이 찾아왔다. 정보통신망.. 하여튼 무슨 법을 위반했다는 게 그 이유다. 소송도 날아왔다. 원고는 그 게임을 제작하고 서비스하는 회사이다.

최악의 경우만 모아놨을 뿐이지 실제로 일어날 수 있는 일이다. 왜 그 유저의 IP 주소를 따서 공격했는데 경찰이 오고, 게임 회사에서 소송이 날아온 걸까? 땄다고 생각했던 IP 주소가 그 유저의 것이 아니기 때문이다.

그럼 도대체 누구의 IP 주소를 딴 걸까? 바로 그 게임을 서비스하는 서버의 IP 주소를 땄다. 내가 신나게 공격했던 건 그 게임의 서버였던 것이다. 몇 시간 동안이나 공격을 했으니 회사에서 알아채지 않았을 리가 없고, 그에 따른 결과는 참담하게 돌아왔다.

우리는 이런 멍청한 짓을 하지 않기 위해서라도 개인 단의 IP 추적, 로깅 등에 대한 개념을 알아둘 필요가 있다. 우선 IP 추적을 하려면 나와, 나랑 게임이나 채팅 등을 하는 사람이 직접적으로 연결되어 있어야 하는데, 이를 P2P (Peer-to-Peer) 방식의 연결이라고 한다. 그리고 당연히, 어지간히 등신 같은 사고방식을 가진 서비스가 아니고서는 절대 그런 방식으로만 연결을 맺지 않는다.

  • 나 – 타인

의 방식이 아닌

  • 나 – 중계 서버 – 타인

의 방식으로 연결한다. 내가 타인과 연결을 직접 수립하고 있다고 생각하는 것은 크나큰 착각이다. 내가 타인에게 연결 요청을 보내면 중계 서버에서 그걸 받아 타인에게 전달해주고, 타인이 그에 응답하는 요청을 보내면 중계 서버에서 그걸 다시 나에게 전달해준다. 내가 타인을 추적하려고 패킷을 아무리 뜯어봐도 중계 서버에 요청을 보내는 패킷만 보이지 그 요청 패킷이 어디로 도달하는지는 중계 서버에서 뜯어봐야 보인다.

그럼 상대방의 IP 주소는 못 따는 것일까? 좀 힘들 뿐이지 아예 불가능하진 않다. 커스텀 URL 단축 서비스 등으로 위장한 IP 로깅 서비스 등을 이용하거나 지식이 있다면 내가 직접 서버를 파서 거기에 상대방이 관심을 가질 만한 컨텐츠를 올려놓고 상대방을 유인하면 된다.

현재 추적을 시도해볼 만큼 나에게 큰 피해를 끼친 사람이 없어서 별로 관심도 없지만 이 블로그가 그런 경우이다. 웹으로 컨텐츠를 제공하려면 웹 서버가 필요한데 거의 모든 웹 서버 소프트웨어는 IP 주소, 유저 에이전트, 리퍼러 등을 포함한 상세한 접속 정보의 로깅 기능을 지원하고 있다. 다만 프록시를 사용하는 경우 프록시 IP 주소가 보이고, 유저 에이전트도 얼마든지 조작이 가능해 상대방에게 지식이 있으면 불가능 수준에 가깝다. 더욱이 스마트폰에서 데이터 네트워크를 켜는 경우 해당 통신사의 공용 IP가 걸린다.

그 역경을 뚫고 어찌어찌해서 IP 주소를 알아냈다. 그럼 이제 그걸로 상대방의 집 주소를 알아낼 수 있는가? 그 확률은 100000분의 1 정도로 극히 낮다. 우리는 SKT, KT, LG U+ 등 인터넷 서비스 제공자를 통해 IP 주소를 할당받아 인터넷을 이용하기 때문에 IP 주소 할당 정보를 검색해봐도 해당 인터넷 서비스 제공자의 본사가 뜬다. 운 좋으면 상대방 거주 지역의 기지국 주소가 뜨겠지만 거기에 집이 몇 채나 있을지는 굳이 따져보지 않아도 예상이 가능한 부분이다.

그럼에도 정말 간절히 추적하고 싶은 상대가 있다면 아주 합법적인 경로를 이용하면 된다. 그 상대가 불법 행위를 저질렀다는 가정 하에 증거를 수집해서 경찰에 신고하는 것이다. 불법 행위임이 확실시되면 공권력이 나설 것이고, 머지않아 그 상대를 경찰서에서 대면할 수 있을 것이다. 위에 설명한 인터넷 서비스 제공자고 뭐고 국내에 위치해 있는 한 공권력이 영장 들고 출동하면 로그를 아주 쉽게 제공해 준다. 애초에 그러라고 공권력이 있는 것이다.

상대가 불법 행위를 저지르지 않았다? 아마 그 상대를 현실에서 대면할 일은 별로 없을 것이다. 그러니까 무슨 디도스 방어기, 추적기, IP 따내는 프로그램 같은 거 써봤자 아무 소용 없다.