본문 바로가기

과제모음

(122)
Winpcap 아키텍쳐를 사용한 Packet Sniffer tool with MFC 1학기 졸업과제로 진행하였던 Winpcap 아키텍쳐를 사용한 패킷 모니터링 툴입니다. Winpcap 아키텍쳐를 MFC에 포팅하여서 Cygwin없이 Windows 환경에서 구현을 하였습니다. 와어어 샤크를 롤모델로 삼고 개발에 임하였습니다. 교수님의 제안으로 모니터링 툴로 이름을 변경하였지만 일종의 패킷스니퍼(packet sniffer)라고 생각 하시면 되겠습니다. 여기에 IP 나 MAC 변조 기능을 갈고 수신 정보만 출력하게 한다면 스니퍼처럼 작동을 할겁니다. 사실 보안 툴이 어떻게 사용하냐에 따라서 180도 바뀌게 되죠. 먼저 프로그램이 실행되면, 네트워크 디바이스 리스트들을 읽어와서 출력을 해줍니다. 유저가 해당 디바이스를 선택하여 패킷 캡쳐를 누르면 해당 디바이스로 입출력되는 모든 패킷이 모니터링 ..
소프트웨어공학 설계 텀프로젝트 UML2.0 에 입각한 각종 유즈케이스 다이어그램 및 각 주차별 진행 RSA파일
프로그래밍 언어론 렉서구현 자바를 이용하여 구현한 렉서
네트워크프로그래밍 - 상대방의 접속정보를 알아내는 프로그램 #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년만에 다시 같은조로 진행되고 있는 프로젝트 언제나 고맙고 미안한 놈들이다. 나이도 같은데 매번 형대접해주고 예의도 바른 놈들이다. 다른 팀에 들어갔으면 내가 개발자가 되었겠지만 알아서 잘할뿐더러 속도와 생각의 전환까지 빠른 이놈들과 같은조가 된 덕분에 그래픽 디자이너가 되어버렸다. 고맙다 자식들...ㅠㅠ 지금은 기본 베이스 소스의 틀이 잡힌 후에 글루코드를 작성하기위해 서로 협의를 해 나가고 있는 과정이다. 참 이 둘이 얘기하는걸 옆에서 듣다보면 타고 났다는 생각이 ..
[네트워크프로그래밍 실습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..