Start a Conversation

해결되지 않음

이 게시글은 5년 이상 된 게시글입니다.

Closed

N

270 Posts

4428

October 14th, 2008 03:00

윈도즈 비스타 - 텔넷(Telnet) 서버와 클라이언트

컴퓨터를 좋아하는 어떤 사람은 해커(Hacker)가 되기를 꿈기도 한다. 꼭 나쁜 짓을 하려는 의도는 없더라도 허락받지 않고 타인의 컴퓨터에 무단으로 접속해서 그 안을 들여다 보는 것은 상상만으로도 흥미로운 일이기 때문일 것이다. 배우기도 한 때 그러한 꿈을 꾸기도 했지만, 과거의 일이다.(그렇다고 과거의 범죄를 저지르일은 없다.^^ 믿거나 말거나) 이제는 타인의 컴퓨터에 무단으로 접속하는 것 자체가 범법행위이므로 그러한 일을 해서는 안된다. 그렇지만 자신의 컴퓨터라면 얼마든지 해킹할 수 있는 자유로움이 있다. 그렇게하기 위해서는 그래픽 유저 인터페이스(GUI:Graphic User Interface) 보다는 커맨드 라인 인터페이스(CLI:Command Line Interface), 즉 커맨드 셸(Command Shell)을 잘 다루어야 하면, 해킹이 아니라도 커맨드 셸을 잘하면 그만큼 유용한 점이 많다. 또 이 커맨드 셸을 잘 이용할 줄 알아야 윈도즈 파워유저라고 할 것이다. 커맨드 셸을 잘 다룰줄 안다는 것은 그만큼 윈도즈의 명령어를 잘 다룰줄 안다는 것이 된다.


  윈도즈 비스타에서의 텔넷 서버와 클리언트 설치

 윈도즈 비스타에서의 텔넷 서버와 클라이언트의 설치는 매우 쉬운데, 제어판에서 프로그램 및 기능 Windows 기능 사용/사용 안 함을 클릭하고 Telnet Client와 Telnet Server에 체크를 해주고 확인을 클릭하면 된다. 설치후에는 백그라운드로 서비스명 TlntSvr이 실행되어 서버기능을 하고 클라이언트는 telnet명령어 자체가 사용가능하게 되어 원하는 곳에 원격접속이 가능하다. 여기서는 간단하게 텔넷 서버를 제어하는 것과 원격으로 텔넷 서버에 접속하는 방법을 알아본다.  텔넷 서버와 클라이언트는 CLI를 기반으로 작동되어 명령어를 잘 사용할 줄 알아야 하는데 텔넷 서비스(서버)제어는 Telnet Administrator의 약자 TLNTADMIN으로 한다. Usage는 대소문자 구분 없이 아래와 같이 입력하면 볼 수 있다.
tlntadmin /?


 외부에서 텔넷 접속이 가능하도록 서비스하려면 tlntadmin start로 중지 하려면 tlntadmin stop, 접속이 있는지 세션을 확인하려면 tlntadmin -s로 확인한다. 강제로 세션을 종료시켜 접속을 끊으려면 -k 스위치를 사용하거나 아예 stop시키면 된다.

서비스 시작 :
tlntadmin start


서비스 종료 :
tlntadmin stop


서비스 세션 보기 :
C:\\Windows\\system32>tlntadmn -s
1 텔넷 세션


ID 도메인 UserName Client LogonDate LogonTime IdleTime
(hh:mm:ss)
---------------------------------------------------------------------------------------------
3148 VISTABABO Mr.Learn ee70::1427:4051:f3f5:ff9b%10 2008-02-12 오전 11:55:34 0:00:06



서비스 세션 끊기 : 스위치 -s로 ID를 확인하고 -k ID를 사용한다.
C:\\Windows\\system32>tlntadmn -k 3148
끊는 경우는 서버측에서는 아무런 메시지가 없지만 클라이언트는 다음과 같은 메시지를 받는다.

C:\\Users\\Mr.Learn>Administrator on the server has terminated this session......
호스트에 대한 연결을 잃었습니다.


 위에서 처럼 텔넷 서버를 실행하는 경우는 보안상 매우 중대한 문제이므로 항상 자신의 컴퓨터상에 원하지 않는 외부인으로부터의 침입을 신경을 써야 한다. 암호화 통신을 사용하지 않으며, 알려진 23번 포트를 사용한다는 것을 항상 염두에 둔다.


  텔넷 서버에 접속 가능한 사용자 등록

 가장 간단한 방법은 로컬 사용자 및 그룹으로 계정이 있는 사용자를 등록하는 것이다. 여기서는 Mr.Learn이 관리자인 VISTABABO컴의 로컬 사용자 및 그룹의 Telnet 클라이언트에 등록해서 원격으로 접속이 가능하도록 한다.

01. 시작 버튼을 클릭한다.
02. 시작 판넬 오른쪽에 컴퓨터를 마우스 오른쪽 버튼으로 클릭한다.
03. 팝업메뉴에서 관리를 선택한다.
04. 컴퓨터 관리가 MMC가 열리면 왼쪽 트리메뉴에서 시스템 도구 - 로컬 사용자 및 그룹 - 그룹을 클릭한다.
05. 이때 텔넷 서버가 정상적으로 설칫가 되었으면 TelnetClinets라는 그룹이 보이므로 이를 선택한다.
06. TelnetClinets 속성창이 뜨면 초기 상태에서는 아무것도 등록이 되지 않았으므로 하단의 추가 버튼을 클릭한다.
07. 사용자 선택이 출력되면 하단의 고급을 클릭한다.
08. 또다른 사용자 선택 창이 뜨면 오른쪽에 지금 찾기 버튼을 클릭한다.
09. 하단의 검색 결과에 로컬 사용자 목록이 나오게 되는데, 이때 텔넷을 허용할 사용자를 선택한다.
10. 확인을 계속 클릭해서 TelnetClinets속성창 단계까지 빠져 나온다.
11. TelnetClinets속성의 구성원에 원하는 사용자가 보아면 확인버튼을 클릭하면 끝난다.

 여기서는 Mr.Learn을 지정했다. 이제 telnet명령으로 접속을 시도해 본다. 물론 여기서는 원격 컴퓨터에서 로컬 컴퓨터로의 접속이 아닌 로컬 컴퓨터에서 로컬 컴퓨터로의 접속이 된다. 다시말해 로컬 컴퓨터의 telnet클라이언트를 통해서 로컬 컴퓨터의 telnet서버에 접속하는 것이 된다. 로컬 컴퓨터는 컴퓨터 이름 또는 127.0.0.1 또는 인터넷 IP를 입력해도 된다.
C:\\Windows\\system32>telnet vistababo
Microsoft Telnet Client 시작
이스케이프 문자: 'CTRL+]'
사용자의 암호 정보를 영역에 있는 원격 컴퓨터로 전송하려고 합니다. 안전하지 않을 수도 있습니다. 암호 정보를 전송하시겠습니까(y/n)?:

y나 로컬 컴퓨터의 관리자 권한 자격증명으로 바로 접속되지만 n일 경우는 로그인 접속을 거치게 된다.
Welcome to Microsoft Telnet Service

login: Mr.Learn
password:*********

*===============================================================
Microsoft Telnet Server.
*===============================================================
C:\\Users\\Mr.Learn>
이제 자신의 원하는 작업을 명령어로 실행하면 된다.

*** 리눅스에서 윈도즈 비스타가 실행중인 VISTABABO(물론 IP로 접속)에 접속을 해 보았더니 잘 되었다. 그러나 코드페이지가 맞지 않을 경우는 이를 클라이언트쪽에서 설정을 해주어야 한다. 왜냐하면 Windows운영체제는 코드페이지 949이므로 클라이언트가 이 코드페이지를 지원하지 않으면 한글은 나타나지 않는다.
No Responses!
이벤트를 찾을 수 없습니다!

Top