리눅스 텔넷프로그램을 개발하기 위해 필요한 지식과 조언좀 부탁드립니다.

shin7의 이미지

리눅스상에서 돌아가는
텔넷프로그램을 구현하려 합니다 (C언어로 구현)

텔넷서버와 텔넷클라이언트 프로그램을 만들어

클라이언트가 접속을 하면 서버를 원격제어 할 수 있도록 만들고 싶습니다
ls를 치면 그 서버에 파일목록이 주룩 나오고~
mkdir을 치면 그 서버에 폴더가 하나 만들어지고 등의 기능을 구현해보고 싶습니다

어떤걸 공부해야 할까요?
텔넷 구현하는거에 대한 정보가 나와있는 책을 혹시 알고 계신다면 추천해주심 감사하겠습니다

프로젝트과제로 텔넷구현을 생각했는데
막상 시작하려니 감이 안오네요
어디부터 공부를 해야할지..

현재 tcp/udp 소켓프로그래밍을 공부중입니다. ftp도 허술하게나마 구현해보았는데
이런 채팅이나 파일전송등의 프로그램과는 다르게
텔넷은 원격제어가 생명인데 이 원격제어를 도무지 어떠한 방법으로 하는지..
잘 모르겠습니다

처음에 제가 생각한 방법은 기본 채팅프로그램처럼 메시지를 주고받을 수 있게 만들고
클라이언트가 ls를 치면 서버가 그 메시지를 분석하여 ls일 경우 서버에 현재디렉토리 파일상황을 클라에게 보내주고 등의
생각을 해봤는데 이건 단지 받고 보여주기만 할 뿐이지 원격제어는 아니더군요..ㅎㅎ 넘 단순하게 생각햇죠..

텔넷에 관한 정보좀 부탁드리겠습니다.
구현하는데 참고할 만한 자료나 조언 부탁드리겠습니다
감사합니다~

M.W.Park의 이미지

apt-get source telnetd

-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

mach의 이미지

telnet은 터미널입니다.
단지 명령어 보내고 결과 보여주기만 하는 프로그램의 원조입니다. 단지 터미널규격(vt100,ansi등등)에 대한 제어가 포함되어 있을뿐.

질문자님께서 원하는 원격제어란 무엇인가요?
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

shin7의 이미지

서버와 클라이언트가 있구요
클라에서 서버로 접속을 합니다
그럼 클라에서 서버컴퓨터에 상황을 볼 수 있고 여러가지 조작을 할 수 있게끔 만드려는겁니다
예를 들어
클라가 접속하여 ls를 치면
서버컴퓨터에 파일상황들이 나오고 등의 일같은거 말입니다..
콘솔상으로 서버컴퓨터를 볼 수 있고 제어 할 수 있는 프로그램을 만드려합니다.
이런 프로그램을 구현하려는데 도무지 감이 안와 조언을 부탁드리는겁니당.^^
답변 부탁드릴게요

안녕하세요

shin7의 이미지

안녕하세요

jsj3579의 이미지

익명입니다의 이미지

telnet은 원격 제어가 아니라, 그냥 원격지의 쉘을 하나 띄워주는 역할만 합니다. bash(예를 들면..)를 하나 띄워서, 화면에 뿌리는 것만 원격지에 하는 것이죠.

telnet을 구현한다면 기본 telnetd도 좋긴 한데 이건 좀 크니까, busybox(검색엔진에 linux busybox를 찾아보세요)에서 networking 아래에 보면 telnet이랑 telnetd가 간단하게 구현되어 있습니다. telnetd가 대략 500라인 정도?

shin7의 이미지

busybox 를 찾아서
telnetd.c 파일을 보고 있습니다.

후..많이 복잡하군요

궁금한것이 이 telnetd.c 파일은 원격제어를 하는 클라이언트쪽 파일이지요?
이 파일로 원하는 리눅스서버에 접속을 하여 사용을 하구요..
맞나요?
그리고 telnet.c 파일에 대해서도 질문이 있는데요
telnet.c에 역할은 단순히 원격지에 쉘을 하나띄워주는 역할이니 그냥 그대로 가져다 쓰면 되겟죠..?ㅎ
telnetd.c 파일만 다 이해한다면 텔넷프로그램을 전부 이해했다고 봐도 되는건가요..?

안녕하세요

sephiron의 이미지

http://www.omnifarious.org/~hopper/telnet-rfc.html
을 보셔야 텔넷을 이해했다고 할 수 있겠습니다.

shin7의 이미지

헉스 이게 다 몬가욤?
많이 이해가 안되네요..ㅎㅎ..
답변 감사합니다..

안녕하세요

익명 사용자의 이미지

MS-Windows의 Netbus (여기서는 1.7)이라는 응용 프로그램처럼 원격 제어를 하되, bash term처럼 CUI환경에서 제어를 하려 하시는군요.

일단, 그 공격 대상이 인터넷에 연결되어 있으면 어떤 데이터를 주고받을때 (FTP, Firefox 등등) 몰래 끼우던가, 버퍼에 오바를 시키던가 해서 해킹을 합니다.
물론 실행 파알로 설정된(또는 될) 파일에 끼워야 효과가 있겠죠?

그 다음, 씨앗(바이러스)를 심습니다. 씨앗이 자라면(실행되면)bash와 telnetd를 연결해서 당신의 텔넷 클라이언트로 상대방 컴퓨터를 조정하는 것입니다.
물론, telnetd대신 ftpd를 이용하면 파일 관리는 용이하겠군요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.