처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.08.19 30

1971년에 태어난 소셜 네트워크 '핑거'는 왜 아직 살아 있나

Hacker News 원문 보기

계정도, 알고리즘도, 중앙 서버도 없이 자기 프로필이 평문 텍스트 파일 하나에 담기는 소셜 네트워크가 1971년에 이미 존재했다고 하면 대부분은 의아해한다. 하지만 그것이 바로 핑거(Finger)다. 스탠퍼드 인공지능연구소(SAIL)에서 WAITS 시분할 시스템을 함께 쓰던 연구자들은 누가 접속해 있는지 알려면 WHO 명령을 써야 했는데, 결과가 지나치게 길고 읽기 어려웠다. 연구소 엔지니어 레스 어니스트(Les Earnest)는 사람들이 화면에 손가락을 짚어가며 '저건 돈, 저건 패티, 그런데 톰은 언제 접속했더라' 하고 되뇌는 장면을 매일 목격했다. 손가락으로 훑는다는 데서 이름을 딴 핑거는, 실명과 위치 그리고 각 단말이 얼마나 유휴 상태였는지를 사람이 읽기 좋은 형태로 돌려주는 프로그램이었다. 복도 끝까지 걸어가 사람을 찾을 가치가 있는지 판단하려던 실용적 동기가, 결과적으로 '네트워크 존재감(presence)'이라는 개념을 발명한 셈이다.

핑거는 1977년 켄 해런스틴이 쓴 RFC 742로 처음 규격화됐지만 초기에는 SAIL, SRI, MIT의 ITS 머신 등 단 세 곳만 지원할 만큼 원시적이었다. 결정판 규격은 1991년 RFC 1288에서 완성됐다. 프로토콜 위에는 내용이 얹혔다. 핑거는 사용자 홈 폴더의 .plan과 .project라는 두 텍스트 파일을 그대로 노출했다. 원래 의도는 지금 무엇을 하고 무엇을 계획하는지 정적으로 알리는 '전문가용 상태 표시'였지만, 사람들은 늘 그렇듯 이를 인간적으로 확장했다. 시, 농담, 일기, 아스키 아트까지 무엇이든 담았고, 누구나 finger 사용자@호스트 한 줄로 남의 .plan을 읽을 수 있었다. 많은 이들이 이를 인터넷 최초의 마이크로블로그로 꼽는 이유다.

카맥의 .plan과 콜라 자판기

가장 유명한 사례가 이드 소프트웨어 공동창업자이자 둠·퀘이크의 프로그래머인 존 카맥이다. 팬들은 finger johnc@idsoftware.com만 치면 그가 좋아하는 게임의 그래픽 엔진이 어떤 상태인지 소스에서 직접 읽을 수 있었다. 1996년부터 2010년까지 이어진 그의 기록은 오늘날 깃허브에 보존돼 게임 역사에서 가장 값진 기술 문서 중 하나로 평가받는데, 그 유통 수단이 1971년 프로토콜이었다는 점이 인상적이다. 문체는 군더더기 없는 작업 목록과 버그 나열에 가까웠지만, 1997년 8월 18일에는 둠 소스코드를 공개하겠다는 발표를 웹사이트나 기자회견이 아니라 .plan을 통해 흘려보냈다. Blue's News나 PlanetQuake 같은 애그리게이터가 개발자들의 .plan을 모아 함께 게시하기도 했으니, 말 그대로 그 시절의 트위터였다.

또 하나의 상징은 1982년경 카네기멜런대(CMU) 학생들이 만든 콜라 자판기다. 마이크 카자르 등은 자판기까지 걸어갔다가 빈 병이나 미지근한 병을 마주치는 데 지쳐, 마이크로스위치로 각 칸의 병 수와 냉각 시간을 감지하도록 배선했다. 그 상태를 핑거로 노출해 finger coke@cmu.edu만 치면 콜라가 있는지, 어느 버튼이 가장 차가운지 알 수 있었다. 사물인터넷의 할아버지로 불리는 이 장치의 인터페이스 역시 핑거였다.

극단적 단순함의 명암

핑거의 동작은 한 문단으로 설명된다. 클라이언트가 서버의 79번 포트로 TCP 연결을 열고, 찾으려는 사용자명(혹은 전체 목록을 위한 빈 줄)을 CRLF로 끝맺어 한 줄 보내면, 서버가 평문으로 응답하고 연결을 닫는다. 암호화도, 헤더도, 세션도 없다. Whois나 Gopher, SMTP처럼 접속해 평문으로 묻고 응답을 읽는 방식이라 netcat으로 직접 말을 걸 수도 있다. .plan은 게시물의 벽이 아니라 그저 하나의 텍스트 파일이며, 80년대 이후 관습은 최신 항목을 위에 두고 날짜별 기록을 덧붙이는 것이었다. 뒤에 데이터베이스가 없으니 파일은 가변적이고 버전 관리도 없어서, 지운 것은 그대로 사라지고 프로필 사이를 클릭으로 넘나드는 것도 불가능하다.

핑거가 잊힌 것은 유행이 아니라 보안 때문이었다. 1988년 11월 2일 등장한 모리스 웜은 fingerd 데몬의 버퍼 오버플로를 감염 경로 중 하나로 삼았다. 아마도 역사상 최초의 악의적 버퍼 오버플로였고, 당시 인터넷의 약 10%에 해당하는 6천여 대를 감염시켰다. 더 근본적으로 핑거는 이름, 이메일, 일정, 마지막 접속 시각 같은 개인 정보를 드러냈고, RFC 1288 자체가 이 정보가 민감할 수 있다고 경고했다. 90년대 후반에는 대다수 관리자가 서비스를 껐다.

반전은 그다음이다. 핑거는 너무 잊혔으면서 동시에 어디에나 남아 있어서, 2020년에는 공격자들이 윈도우에 기본 탑재된 finger.exe로 의심 없이 악성코드를 내려받는 사례가 확인됐다. 이미 시스템에 있고 신뢰받으며 아무도 감시하지 않는 바이너리를 악용하는 '자급자족(living-off-the-land)' 기법으로, 아스타로스(Astaroth) 멀웨어가 페이로드를 가져오는 데 썼다. 1970년대 프로토콜이 여전히 모든 윈도우에 실려 있다는 사실 자체가 그 설계의 끈질김을 방증한다. 실무자 입장에서는 finger.exe 같은 정상 바이너리도 아웃바운드 관점에서 감시 대상이 될 수 있다는 점을 상기시킨다.

실무적 의미와 한계

핑거는 다시 주류가 되지는 않을 것이다. 다만 Gemini, IRC, RSS, NNTP 같은 미니멀·탈중앙 프로토콜의 부흥과 함께 작고 해킹 가능한 살아 있는 프로토콜로 다시 고개를 내밀었다. 서버 없이 시작하려면 happynetbox.com에 무료로 가입해 웹 상자에 글을 쓰면 되고, VPS나 라즈베리파이가 있다면 고전 fingerd를, 데비안에서는 보안을 다시 설계한 ffingerd를 inetd 같은 슈퍼서버로 79번 포트에 띄우면 된다. 프로토콜을 안에서부터 이해하고 싶다면 소켓 위 평문이라는 특성상 몇 줄짜리 파이썬 서버로 직접 구현할 수도 있다. 오늘날의 구현들은 홈 폴더를 노출하지 않고 gets()를 쓰지 않으며 프로세스를 격리하므로, 1988년의 유령은 아키텍처가 아니라 특정 구현의 결함이었음이 분명해진다. 실무적으로 핑거의 진짜 가치는 기능 경쟁이 아니라, RSS나 /now 페이지, WebFinger(RFC 7033)로 이어지는 '내 존재를 내가 소유한다'는 설계 철학에 있다. 규칙도 정해진 포맷도 없는 그 극단적 단순함이야말로 좀처럼 죽지 않고, 복잡해지는 인터넷의 변두리에서 호기심 많은 이들의 손끝에 남아 있는 이유다.

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

파이썬으로 자동화를 시작해보세요

파이썬 기초부터 자동화까지 실전 강의.

파이썬 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.