원격 텔넷에서 소켓프로그래밍 연습이 되나요..?

toold의 이미지

원격으로 접속한 텔넷에서.. IP를 보려고 하는데요...

ifconfig라고 해도 없는 명령어라고 나옵니다..

제가 가입한 웹호스팅업체에서 제공하는 텔넷서비스거든요..

제가 하려는건 이곳에서 gcc 컴파일러를 제공해서요..

소켓프로그래밍 공부를 이곳에서 하려는데...

가능한가요..?..

처음 시작하는 초보라...-.-a..

도움 부탁드릴께요..

맹고이의 이미지

/sbin/ifconfig 는 해보셨나요?

아무래도 웹호스팅에서 제공하는 서비스는

보안문제도 있고 해서 여러가지 시도를 해보기엔

많은 제약이 있지 않을까 싶습니다... ^^;

그리고 localhost만으로도 가능하겠지만

계정이 두개면 더 좋을 것 같네요

전 학교계정 하나랑, 아는 선배가 돌리는

서버에 계정 얻어서 연습중입니다...~

아니면 리눅스를 깔아서 연습하시는게... ^^

toold의 이미지

우선 답변 감사드립니다..꾸벅...

제가 리눅스를 설치하기는 상황이 좀 힘들고요...

원격으로 접속해서 이것저것 공부를 하고 싶은데요...(돈을 좀 들여서라도.)

리눅스 서버 자체를 임대하는것 말고요(단독 서버호스팅 같은것 말고요..)

싼값에 텔넷접속해서 공부할 수 있는 서비스는 없을까요..?..

용량은 많지 않아도 상관없구요...

혹시 아시는 서비스 같은게 있으면 추천 좀....

좋은 하루 되세요..

불량청년의 이미지

접속하신 권한이 일반 유저 권한이라면 사용하실 수 없습니다.

리눅스를 초기 설치 후, /sbin 에 ifconfig 파일이 있는데

요 경로는 루트 로그인시에만 경로에 추가 됩니다. 고로 일반

유저가 로그인 시, 유저 쉘에선 경로가 존재하지 않습니다.

보통 호스팅 업체에선 저런 명령들 못 쓰게 하죠. gcc도 못쓰게

하는곳이 대부분입니다. ㅜㅜ;

참고로 iwebschool.net이란 곳으로 가보시죠. 여긴 싸기도 하고

공부를 목적으로 둔, 사용자들을 위해서 호스팅 하는곳이라

도움이 될지 모르겠습니다.

H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!

toold의 이미지

tacstar님께서 추천해주신곳도 안 될꺼 같네요...ㅠ.ㅠ.

어쨋든 답변 감사드립니다..

혹시 다른분이라도 괜찮은 곳 있으면 좀 알려주세요.. :wink:

맹고이의 이미지

toold wrote:
tacstar님께서 추천해주신곳도 안 될꺼 같네요...ㅠ.ㅠ.

어쨋든 답변 감사드립니다..

혹시 다른분이라도 괜찮은 곳 있으면 좀 알려주세요.. :wink:


아무래도 호스팅 업체쪽은 힘들 것 같습니다.

아는 사람에게 계정을 구하는 방법이 젤 나을 듯...

ruseel의 이미지

Quote:

제가 리눅스를 설치하기는 상황이 좀 힘들고요...
원격으로 접속해서 이것저것 공부를 하고 싶은데요...(돈을 좀 들여서라도.)

음, 리눅스를 깔기 힘든 상황이라는게 뭘까요?

너무 개인적인 일이 아니라면 적어주시는 게 좋을 것 같습니다.
혹시 toold님이 생각하시는 '힘든 상황'이
알고 보면 간단히 넘어 갈 수 도 있는 일일지도 모른다는 생각이 들어서요.

송지석의 이미지

음, 게시판을 검색하시면

ifconfig을 간단히 구현한 예제가 있습니다.

저도 소스를 가지고 있었는데.. 잠시 찾아보죠.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stropts.h>

#if defined(sun)
#include <sys/sockio.h>
#endif

#include <net/if.h>
#if defined(linux)
#include <linux/sockios.h>
#endif

#define BUFFERSIZE 1024
const char * localip = "0.0.0.0";

const char * myip()
{
        const int MAX_NIC = 10;
        struct ifconf ifc;
        struct ifreq ifr[MAX_NIC];

        int s;
        int nNumIFs;
        int i;
        int count;
        int max=2;
        static char ip[BUFFERSIZE];
        int cmd = SIOCGIFCONF;

        max++;

        ifc.ifc_len = sizeof ifr;
        ifc.ifc_ifcu.ifcu_req = ifr;

        if( (s=socket(AF_INET,SOCK_STREAM,0)) < 0)
        {
                perror("socket");
                exit(1);
        }

#if defined(_AIX)
        cmd = CSIOCGIFCONF;
#endif

        if( (s = ioctl(s, cmd, &ifc) ) < 0)
        {
                perror("ioctl");
                exit(1);
        }

        nNumIFs = ifc.ifc_len / sizeof ( struct ifreq );
        count = 0;
        strcpy( ip, localip );
        for( i=0; i<nNumIFs; i++ )
        {
                struct in_addr addr;
                if( ifc.ifc_ifcu.ifcu_req[i].ifr_ifru.ifru_addr.sa_family != AF_INET)
                {
                        continue;
                }

                addr = ((struct sockaddr_in *) & ifc.ifc_ifcu.ifcu_req[i].ifr_ifru.ifru_addr)->sin_addr;
                if( addr.s_addr == htonl( 0x7f000001 ) )
                {
                        continue;
                }
                strcpy( ip, inet_ntoa( addr ) );
                printf( "%s IP: %s\n", ifc.ifc_ifcu.ifcu_req[i].ifr_ifrn.ifrn_name, ip );
        }
        return ip;
}

int main()
{
        printf("One of my IP is %s\n", myip() );
        return 0;
}

이걸 빌드하셔서 사용해보세요.
{{{
이걸 iptst.c라는 이름으로 저장하시고
gcc -o iptst iptst.c
로 빌드하시고 ./iptst 사용해보세요. (너무 시시콜콜하게 알려드렸나..)
}}}
저의 경우
[rommance@localhost iptest]$ ./iptst
eth0 IP: 192.168.1.55
One of my IP is 192.168.1.55
잘 됩니다.
그리고 ifconfig은 /sbin 에 보통 있습니다. 일반 사용자는 path가 안잡혀있죠.
/sbin/ifconfig 해보시면 어쩌면 있을 지도 모릅니다.

B00m의 이미지

아마 호스팅 업페쪽에서 원하시는 프로그램밍 공부를 하기는 힘들거 같네요.

호스팅 업체는 telnet 을 열어논다 해도 보안상의 이유로 제약이 아주 많고 gcc도 대부분 박아 놓죠..

안 그러면 아마 금방 시스템이 뚫릴 겁니다..
어쩔 수 없는거죠..

정확이 상황이 어떤 상황인지는 모르겠지만 vmware를 이용해 보시는 것은 어떨지..

쓰시는 머신이 조금만 사양이 따라준다면 vmware 리눅스 깔고 연습하시는것도 좋을거 같습니다..

toold의 이미지

ruseel wrote:

음, 리눅스를 깔기 힘든 상황이라는게 뭘까요?

너무 개인적인 일이 아니라면 적어주시는 게 좋을 것 같습니다.
혹시 toold님이 생각하시는 '힘든 상황'이
알고 보면 간단히 넘어 갈 수 도 있는 일일지도 모른다는 생각이 들어서요.

머 개인적인 일은 아니고요..
제가 현재 집에 컴퓨터가 없고...
사무실에서 업무시간에 빈 시간이 많아서...
그 시간에 공부를 하려는거거든요..
사무실 컴퓨터에 리눅스를 깔아도 업무시간에 부팅할 수도 없고..
vmware 같은걸 깔기엔 사양이 좀 안좋아서요.. :wink:

ydongyol의 이미지

vmware 보다 virtualPC를 써보세요.. 훨씬 가볍더군요...
셀700에서 잘 돌아가던데,,, 정방법이 없다면 써보세요..

--
Linux강국 KOREA
http://ydongyol.tistory.com/

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.