컴퓨터 네트워크 팀프로젝트(패킷분석)
•개발인원 : 3인
•개발기간 : 2018.08.27 - 2018 12.19
•개발도구 : Ubuntu 운영체제에서 C 프로그래밍(gcc 이용)
•사용라이브러리 :
TCP/IP, UDP 패킷을 분석
HTTP, email, DNS, P2P프로토콜을 캡처해보고, 각각의 프로토콜 분석과제.
패킷을 캡처해서 정보를 얻기위해 구조체 이용
원하는 프로토콜을 입력받아 그 프로토콜의 포트번호의 패킷을 캡처하기 위해 pcap 라이브러리 이용.
패킷을 구조체에 넣은 후 원하는 양식으로 출력하게 바꿔주는 print문 들.
1.TCP
2.HTTP
3. E-mail
4. DNS
5. P2P
마지막 P2P 프로토콜을 비트코인 프로그램을 이용해서 분석해보려 하였으나, 프로토콜이 여러개의 TCP세그먼트로 나눠져서 오고, 나중에 재조합하는것을 와이어샤크와 구글링을 통해 알아내서, 우리가 작성한 프로그램으로는 제대로된 분석을 할 수가 없었고, 이 비트코인 프로그램이 P2P연결을 한다는것도 증명할 자료를 준비하지 못했다. 많이 아쉬웠다.
이론으로 배웠던 프로토콜들을 실제 패킷캡처를 통해 확인하는것이 재미있었고, 같이 했던 프로그램 코딩이나, 라이브러리 분석, 구조체 분석도 재미있었다. 무엇보다도 그 수업에 email 프로토콜 분석에 성공한 팀이 우리팀밖에 없어서 너무 좋았다. 이 영광을 3pop을 사용하는 학교 메일에 돌린다.
v 각 계층과 프로토콜의 연관성과 구조를 파악할 수 있습니다.
v 컴퓨터로 송수신되는 패킷들을 직접 확인하여 잘못된 패킷을 검출 할 수 있습니다.
v 다양한 분석 도구를 이용해봄으로써 분석 능률 증가시킬 수 있습니다.
v 이러한 과정을 통해 소켓 프로그래밍에 대하여 이해도를 높일 수 있습니다.