Packet sniffer develop #IPv4 header structure 이더넷(ethernet) 헤더에 존재하는 3계층 프로토콜 정보중 0x0800에 해당하는 패킷의 다음 역캡슐화 단계인 IPv4의 헤더구조에 대해 알아보자 IPv4 Header 위의 사진이 가장 잘 나와있는것 같아서 참고자료로 가져왔다위의 구조를 표로 정리해보면 아래와 같다 Field Size Version 4bit Header Length 4bit Type of Service(Differentiated Service Field) 1byte Total Length 2byte Identification 2byte IP Flags 3bit Fragment Offset 13bit Time To Live (TTL) 1byte Protocol 1byte Header Checksum 2byte Source IP Add.. 카테고리 없음 7년 전
Packet sniffer develop #Ethernet header structure 2계층 프로토콜인 이더넷(Ethernet) 프로토콜의 구조를 알아보고 패킷을 분석 해보자 Ethernet Protocol Structure 위의 구조를 참고하여 헤더 부분만 정리해보면 아래와 같다. Destination MAC Address 6byte Source MAC Address 6byte Ethernet Type 2byte 위의 순서대로 분석하면 데이터의 앞 14byte를 해석할 수 있을것이다. 위를 기반으로 analysis.h 를 새로 생성하여 이더넷 헤더를 해석해보자 나의 경우 u_char 자료형으로 모든 요소를 배열로 선언했다. 또한 이더넷 헤더 외에도 다른 헤더를 분석할 때도 배열로 선언할 것이므로 이러한 배열에 값을 넣고 출력하는 함수를 따로 제작하였다. 사용자 정의 함수 1234void.. 카테고리 없음 7년 전
Packet sniffer develop #Libpcap Libpcap이란? "Portable Packet Capturing Library"의 줄임말이다. 편리한 패킷 캡쳐 라이브러리로 해석되며 쉽게 풀어보면"패킷을 캡쳐할 수 있는 편리한 함수의 모음"이라고 이해하면 좋을 것 같다. pcap 이외에도 비슷한 도구들이 많다SOCK_PACKET, LSF, SNOOP, SNIT 등 운영체제 종속적이지 않고 가장 편리하게 사용할 수 있기에 pcap 라이브러리를 사용한다고 한다. Libpcap 설치하기 우분투 환경이기때문에 아래와 같이 libpcap을 설치하면 된다 sudo apt-get install libpcap0.8-dev 이제 gcc 컴파일시 -lpcap 옵션만 주면 된다 카테고리 없음 7년 전
Packet sniffer develop #prologue K.Knock 프로젝트로 패킷스니퍼를 개발해보기로 했다 언어는 c언어와 c++을 사용해보려고 한다 자바로는 구현하기가 너무 복잡하고 파이썬은 너무 쉽게 구현되기 때문에 원리를 이해하면서 하기에 c가 적합하다고 판단했기 때문이다 들어보니 BOB에서 매년 해오던 과제중 하나일 정도로 장기 프로젝트로는 적합하지 않다고 한다. 그래서 상황을 봐서 여러 해킹 및 간단한 IDS나 IPS 기능까지 추가해볼 예정이다 카테고리 없음 7년 전