본문 바로가기

반응형

전체 글

(198)
네트워크프로그래밍 - 상대방의 접속정보를 알아내는 프로그램 #include #include #include int main(){ struct in_addr addr; struct hostent *host; const char *hostName; int i; printf("input url : "); hostName = (char *)malloc(sizeof(char)); // 동적메모리 할당 scanf("%s",hostName); //문자열을 받음 if((host = gethostbyname(hostName)) == NULL){ printf("gethostbyname() error - check network\n"); exit(-1); } printf("official name = %s\n", host->h_name); i = 0; while(host->h_al..
네트워크 텀 프로젝트 개발일지 - 100523 무엇을 개발하는지는 릴리즈가 되면 발표를 할 것이다. 이번 네트워크 텀의 사실상 개발자들이라고 할 수 있는 두명 얼굴은 최대한 안나온 것으로 골라 보았다. 사실 이걸 여기에 공개한 것만으로도 욕먹을까봐 무섭다. 작년 객체지향 텀 이후로 1년만에 다시 같은조로 진행되고 있는 프로젝트 언제나 고맙고 미안한 놈들이다. 나이도 같은데 매번 형대접해주고 예의도 바른 놈들이다. 다른 팀에 들어갔으면 내가 개발자가 되었겠지만 알아서 잘할뿐더러 속도와 생각의 전환까지 빠른 이놈들과 같은조가 된 덕분에 그래픽 디자이너가 되어버렸다. 고맙다 자식들...ㅠㅠ 지금은 기본 베이스 소스의 틀이 잡힌 후에 글루코드를 작성하기위해 서로 협의를 해 나가고 있는 과정이다. 참 이 둘이 얘기하는걸 옆에서 듣다보면 타고 났다는 생각이 ..
HDCON2010 - 1번 문제 풀이  문제풀이 서버에 접속을 하면 다음과 같은 사진이 있다. 요즘 바코드 대신 쓰이는 QR Code가 눈에 바로 들어와서 구글에 QRCODE DECODE 로 검색을 하여 이미지로 제출한 QRcode를 해석해주는 웹사이트를 찾아 내었다.  그림파일을 저장한후 위의 사이트에서 그림파일을 제출하면 다음과 같이 QRCode 이미지가 디코딩되어 나온다 QR Code 문제는 조금 의외였다. 2차원 바코드가 문제에 나와서 처음엔 이해가 안갔지만, 알고보니 스마트폰 어플리케이션으로 요즘 QRCode 인식 어플이 많이 있는데 이를 악용하여, 이미지속에 악성코드를 숨겨놓아 실행시키는 방법이 있다고 넌지시 알려준다. 무서운 세상이다.
OWASP 2010 정식 릴리즈 - 해킹취약점에 대하여 알아보자 매년 발표되는 보안10대 취약점인 OWASP의 2010 정식버전이 릴리즈 되었다.  injection과 XSS, CSRF등 기존에 있던 공격유형들과 새로운 공격유형도 몇개 보인다. 다 읽어보는건 시험이 끝나고 나서야 해보겠지만..얼른 읽어보고 싶다. OWASP_Top_10_-_2010.pdf (Google Code) OWASP_Top_10_-_2010.pdf(Google Docs)
[네트워크프로그래밍 실습05]좀비프로세스 생성방지 에코 Server #include #include #include #include #include #include #define PORT 1656 #include #include #include void do_echo(int); void sigHandler(int); readn(int fd, void *vptr, size_t n) { size_t nleft; ssize_t nread; char *ptr; ptr = vptr; nleft = n; while (nleft > 0) { if ((nread = read(fd, ptr, nleft)) < 0) { if (errno == EINTR) nread = 0; /* and call read() again */ else return (-1); } else if (nread =..
나만의 운영체제를 만들어본다 - GEEKOS 설치 제목은 거창하지만 UMD(메릴랜드대학) 에서 개발한 GEEKOS를 기반으로 한 운영체제의 기본정도만 구현을 하는 프로젝트가 될것이다. 설치및 구동환경은 우분투9.10 을 기반으로 동작한다. geekOS를 구동함에 있어서 bochs라는 일종의 에뮬레이터를 사용하여 작동시키도록한다. Vmware 상에서 설치해본결과 이 bochs 란 에뮬이 일종의 플로피디스크 이미지(fd.img)를 만들어서 'a' 드라이브에 해당 이미지를 직접 마운트하여 사용을 하게된다. 그러므로 플로피디스크를 Vmware의 하드웨어 옵션에 꼭 추가를 해야 한다.  root 계정 암호변경 우분투 9.10의 경우에는 보안상의 이유로 관리자 계정의 최초 비밀번호를 랜덤하게 정한다. 그렇기 때문에 우리는 이 관리자 계정을 변경해주어야 설치를 조..
[네트워크프로그래밍]fork() 함수 이용한 simple program #include #include #include #include int main(){ pid_t pid, child; int a = 5, b = 3; int state; pid = fork(); if(pid == 0){ b += 1; printf("Child process id = %d\n", getpid()); printf("a = %d, b = %d\n", a, b); sleep(10); } else{ do{ a += 1; sleep(3); puts("\n3 sec wait\n"); child = waitpid(pid,&state, WNOHANG); }while(!child); } printf("child proess id = %d\n return value = %d\n",child, a*b); re..
[운영체제론]예습정리(Chp5,6 / 프로세스과정) Q) 크기가 큰 HDD에서 프로세스를 실행시키기위하여 어떠한 방법으로 디스트의 불특정 영역에 존재하는 원본 Program을 찾아내는가? => 직접 HDD의 모든 범위를 검색하여 Program을 찾는것은 시간적으로도 손해이고 많은 제약이 따를 것이다. 자료구조에서 배웠던 개념인 linked-list를 활용한다면, 이러한 문제를 해결할 수 있을 것 같다. program이 최초에 설치될 당시 각각의 program마다 고유의 번호가 기재되러 있는 HeadNode를 지정하고, program이 호출이되어 process화 될때에 이 node에기재되어 있는 주소에 저장된 파일을 load해와 memory에 적재할 것이다. Q) 대기중인 process를 Queue에 저장하는데, 이 때 우선순위가 더 높은 prcess가 들..

반응형