본문 바로가기

2024/05/217

드라이버 개발 연습 #2 2024.05.21 - [개발/리눅스] - 드라이버 개발 연습 #1LoadDriver, UnLoadDriver 구현하기 선행 조사 libudevlibudev는 udev 장치 관리 시스템과 상호 작용하기 위한 라이브러리. udev는 Linux 커널의 장치 파일 시스템(devfs)와의 인터페이스를 관리하는 시스템입니다. libudev는 다음과 같은 기능을 제공합니다:장치 탐지 및 열거: 시스템에 연결된 장치들을 탐지하고 나열할 수 있습니다.장치 속성 조회: 장치의 속성(예: 장치 파일, 속성 값)을 조회할 수 있습니다.장치 이벤트 모니터링: 장치 추가, 제거 등의 이벤트를 모니터링할 수 있습니다.libudev는 주로 사용자 공간에서 하드웨어 장치를 관리하고, 장치 이벤트에 반응하는 데 사용됩니다.libkmo.. 2024. 5. 21.
드라이버 개발 연습 #1 리눅스 프로세스 감시 드라이버 만들기 도전 #11. CENTOS를 기준으로 한다.2. 프로세스 실행 종료를 감시하는 드라이버를 만든다.3. 프로세스 실행 컨트롤이 필요하다. 4. NOTIFY 계열을 사용하지 않고 디바이스 드라이버만 사용한다.5. MAKE을 이용해서 빌드한다.6. 가능하다면 C++를 사용한다. 2024. 5. 21.
Convert IPv4 To IPv6 #include #include #ifdef _WIN32 #include #include #pragma comment(lib, "Ws2_32.lib")#else #include #include #endifbool convertIPv4ToIPv6(const std::string& ipv4AddrStr, std::string& ipv6AddrStr) { struct in_addr ipv4Addr; struct in6_addr ipv6Addr; // Convert the string IPv4 address to in_addr if (inet_pton(AF_INET, ipv4AddrStr.c_str(), &ipv4Addr) != 1) { std:.. 2024. 5. 21.
NOTIFY (dnotify, inotify, fanotify)비교 dnotify, inotify, fanotify 비교리눅스 커널에서 파일 시스템 이벤트를 모니터링하는 데 사용되는 dnotify, inotify, fanotify 세 가지 메커니즘의 비교와 각 메커니즘이 지원되는 커널 버전에 대해 설명드리겠습니다.dnotify지원되는 커널 버전: 리눅스 커널 2.4에서 도입됨.특징:디렉토리 전용: 디렉토리에서 발생하는 이벤트만 모니터링할 수 있습니다.fcntl 기반: 파일 디스크립터와 fcntl 시스템 호출을 사용합니다.비효율성: 각 디렉토리에 대해 파일 디스크립터를 유지해야 하므로 많은 디렉토리를 모니터링하는 데 비효율적입니다.프로세스 전용 알림: 알림은 설정된 프로세스에만 전달됩니다.주요 이벤트:DN_ACCESS: 파일에 접근했을 때.DN_MODIFY: 파일이 수정되.. 2024. 5. 21.
D NOTIFY dnotify는 리눅스 커널 2.4에서 도입된 파일 시스템 이벤트 모니터링 메커니즘으로, 특정 디렉토리에서 발생하는 파일 시스템 이벤트를 감지할 수 있습니다. dnotify는 이후 더 발전된 inotify와 fanotify로 대체되었지만, 여전히 역사적인 이해를 위해 중요한 개념입니다.주요 특징디렉토리 전용: dnotify는 디렉토리에서 발생하는 이벤트만 모니터링할 수 있습니다. 파일 자체에 대한 모니터링은 지원하지 않습니다.fcntl 기반: dnotify는 파일 디스크립터와 fcntl 시스템 호출을 사용하여 이벤트를 설정합니다.프로세스 전용 알림: 알림은 설정된 프로세스에만 전달됩니다. 이는 다수의 프로세스가 동일한 이벤트를 모니터링해야 할 경우 비효율적일 수 있습니다.비효율성: 각 디렉토리마다 파일 .. 2024. 5. 21.
I NOTIFY INOTIFY는 리눅스 커널의 파일 시스템 이벤트 모니터링 메커니즘으로, 파일 시스템 내의 변경 사항을 감시하고 사용자 공간 애플리케이션에 알림을 제공합니다. INOTIFY는 특히 파일과 디렉토리의 수정, 생성, 삭제 등의 이벤트를 모니터링하는 데 유용합니다. 시스템 관리자와 개발자에게 파일 시스템 활동을 추적하고 이에 따라 적절한 조치를 취할 수 있는 방법을 제공합니다.다음은 INOTIFY에 대한 주요 기능과 세부 사항입니다:파일 및 디렉토리 모니터링: INOTIFY는 특정 파일이나 디렉토리에서 발생하는 이벤트를 모니터링할 수 있습니다. 이를 통해 파일 시스템의 변경 사항을 실시간으로 감시할 수 있습니다.이벤트 유형: INOTIFY는 파일 또는 디렉토리의 생성, 삭제, 수정, 이동 등의 다양한 이벤트를.. 2024. 5. 21.
FA NOTIFY FANOTIFY는 리눅스 커널의 파일 액세스 알림 시스템으로, 프로그램이 파일 시스템 이벤트를 모니터링할 수 있게 해줍니다. FANOTIFY는 파일 시스템 이벤트(예: 열기, 읽기, 쓰기, 닫기 작업)에 대해 사용자 공간 애플리케이션에 알림을 제공합니다. FANOTIFY는 보안, 백신, 시스템 모니터링 애플리케이션에서 자주 사용됩니다.다음은 FANOTIFY에 대한 주요 기능 및 세부 사항입니다:파일 액세스 모니터링: FANOTIFY는 사용자 공간 애플리케이션에 다양한 파일 시스템 이벤트에 대해 알림을 제공할 수 있습니다. 이는 파일 액세스 패턴을 모니터링하거나 보안 정책을 적용해야 하는 애플리케이션에 유용합니다.세밀한 제어: FANOTIFY는 어떤 이벤트를 모니터링할지, 어떤 파일이나 디렉토리를 모니터링.. 2024. 5. 21.
반응형