본문 바로가기
반응형

코스웨어/12년 내장형하드웨어207

[패킷 아날라이저] 10.27 업무일지 -정철 * 오늘은 IP 헤더 ethernet 헤더에서 타입이 IP일 경우 (0x0800) 해석하는 방법이다. Version : 데이터그램이 속한 프로토콜 버전을 나타낸다. 현재 IPv4가 사용 중이며 IPv6로의 변화가 진행 중이지만 미래는 아직 불확실하다. IPv5는 실시간 스트림 프로토콜로 개발되었지만 현재는 사용 중이지 않다. IHL : 헤더길이가 일정하지 않기 때문에 헤더의 길이를 나타낸다. 단위는 32비트 워드 단위로 최소값은 5, 최대값은 15이다. 최소값이 5인 것은 고정크기 20바이트를 가지고 있기 때문이다. 최대값이 15이므로 헤더는 60바이트로 제한된다. 따라서, 옵션은 40바이트까지 지정할 수 있다. Type of Service : 호스트가 서브넷에서 어떤 종류의 서비스를 원하는지를 나타낸다.. 2012. 10. 26.
[패킷 아날라이저] 10.26 업무일지 -정철 님햐 내 패킷 훔쳐가지 마삼! * Libpcap(Portable Packet Capturing Library) 패킷을 캡쳐하기 위한 도구로는 BPF(Berkeley Packet Filter), DLPI, NIT, SNOOP, SNIT, SOCK_PACKET, LSF(Linux Socket Filter), drain등 각 운영체제별로 다양한 도구가 있다. 하지만 여러분이 운영체제별로 패킷을 캡쳐하기 위한 위한 코드를 별도로 구성해야 한다면 시작하기도 전에 포기할지도 모른다. 하지만 이 모든 도구들을 수용하는 Portable한 API가 있는데 이것이 바로 libpcap이다. 라이브러리 사용자는 운영체제의 각기 다른 datalink로의 접근 방법에 상관없이 libpcap을 이용하여 소기의 목적을 달성할 수 있.. 2012. 10. 26.
[linux kernel]문자 디바이스 정리 자료입니다. wowcat에 올릴려니 편집을 새로 해야 되서 그냥 제 블로그에 올리는 파일 통째로 올립니다. 2012. 10. 25.
[2012내장형]포인터 변수의 오류들 첫번째... 변수와 포인터 변수에서 나오는 오류들. 그림 1) 포인터 변수에 참조 변수를 수정 하기전. 1. 일단 처음 오류는 포인터 번수에 참조 할 변수를 잘못 참조하게 되면 생기는 오류를 하여 보았다. 그림 1)은 정상 적인 참조 일때이다. 그림 2) 포인터 변수에 참조 변수를 수정 하기전 화면에 출력. 2. 그림 1)의 소스를 컴파일 하여 실행시켜 보았다. 그림 2)처럼 아무 문제 없이 나온다면 정상 적인 것이다. 그림 3) 포인터 변수에 참조 변수를 수정 후. 3. 그림 1) 소스에서 포인터 변수에 참조할 변수를 임의로 &를 제거 하여 보았다. 그림 4) 포인터 변수에 참조 변수를 수정 후 화면에 출력. 4. 그림 3)에서 포인터 변수에 참조할 변수를 임의로 &를 제거 하여 컴파일 후 실행 시켜 보았다. 그림.. 2012. 10. 24.
[WINAPI] 10월 23일 수업소스+결과(BIPMAP 영상처리(?)) - by.LDH #include #include #pragma comment(lib,"user32.lib") #define ID_EDIT 100 enum emb_rgb { EMB_RED , EMB_GRN , EMB_BLU , EMB_END, }; LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE g_hInst; LPCTSTR lpszClass=TEXT("Bitmap viewer"); void MyTextOut(HDC hdc,int x,int y,LPCTSTR Text); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR IpazCmdParam, int nCmdShow) { HWND h.. 2012. 10. 23.
[WinApi]2012/10/18 작업일지(BMP 파일 구조) - by. 이창현 API BITMAP 파일 구조. 그림 1) BIPMAP 파일 구조. 1. BITMAP이란? 그림 파일의 압축 포맷 형태이다. 확장자는 bmp 이고 파일 크기가 크다는 단점이 있다. 그리고 유명한 jpg와 gif 파일들이 있다. 그리고 그 중에서 BITMAP 파일의 구조에 대해 알아보려 한다. 일단 그림 1)처럼 BITMAP 파일은 FILE HEADER, IMAGE HEADER, COLOR TABLE, PIXEL DATA 라는 4단계 구조로 되어 있다. 그림 2) FILBITMAPFILEHEADER 의 크기. 2. 처음 1단계 구조체인 FILE HEADER 의 크기는 그림 2) 와 같다. 그림 3) BITMAPFILEHEADER 의 구조체 코드. 3. 비트맵파일인지 아닌지를 확인하는 변수가 bfType 이.. 2012. 10. 22.
[리눅스 커널]2012/10/22 작업일지(데비안6 커널 2.4 Module Wrapping) - by. 이창현 데비안 6에서 커널 2.4.27 모듈래핑. 그림 1) 함수 만들어지는 과정 1. 1. 모듈 래핑 하기전에 sys_call_table[__NR_open] 이라는 함수가 중요한데 sys_call_table[__NR_open] 이라는 함수가 나오게 되는 과정을 우선 알아 보려 한다. 그림 1) 에서 /include/asm-i386/ 에 Unistd.h 헤더파일을 연다. #define __NR_open 5 를 메모장에 복사한다. 그림 2) 함수 만들어지는 과정 2. 2. 다음으로 찾아 볼 함수는 바로 ENTRY(sys_call_table) 이다. 이 함수는entry.S 라는 어셈블리 파일에 있다. 이 파일은 /arch/i386/kernel/ 이라는 곳에 있다. entry.S 에서 ENTRY(sys_call_ta.. 2012. 10. 22.
[linux kernel]모듈 프로그래밍 운영체제의 커널구성은 크게 두 가지로 나뉜다.-일체형 커널( Monlithic Kernel )-마이크로 커널( Micro Kernel )리눅스는 일체형 커널을 사용했지만, 모듈을 도입함으로써 커널의 일부를 동적으로 커널안에 코드를 삽입하고 제거 할 수 있는 방법을 사용할 수 있게 되었다. -모듈 프로그램의 구성- 모듈이 커널에 올라가기 앞서 모듈을 로드할떄 수행되는 초기화 루틴(init_module) 이있고 모듈을 제거할떄 수행되는 초기화 루틴(cleanup_module) 가 있다. -모듈작성 기본 소스구성#include // 커널과 관련된 자료구조와 printf()함수등이 정의되어있다.#include//모듈과 관련된 자료구조와 매크로가 정의되어있다. int __init init_module(void) .. 2012. 10. 20.
[API] bmp 가로 4의배수로 출력하는 코드 다운로드 2012. 10. 19.
728x90
반응형