본문 바로가기

전체 글116

[프로젝트] 레이저 포인터 인터렉션 (2009) OpenCv, C++, MFC, Visual Studio 2008참여인원 5명 대학생 4 + 일반인 1제작기간: 3개월 CAM을 이용한 레이저 포인터 인터렉션 구현 열정가득한 시기였네 ㅋㅋ 2024. 6. 10.
[GIT] 특정 브랜치 Clone 특정 브랜치 만!! Clone 하기 git clone -b {branch_name} --single-branch {저장소 URL}https://github.com/google/re2.git GitHub - google/re2: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those usedRE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. - google.. 2024. 5. 27.
개발 환경 구축하기 #2 2024.05.25 - [개발/리눅스] - 개발 환경 구축하기 #11. 설치 후 로그인 2. 인터넷 연결 $ vi /etc/sysconfig/network-scripts/ifcfg-ens33ONBOOT = YES$ systemctl restart network$ ip addr 확인 3. SSH로 연결   4. 레포 URL 변경하기 CentOS 7의 레포지토리 URL을 수정하려면 다음 단계를 따르십시오.여기서는 기본 CentOS 레포지토리 파일을 수정하는 방법을 설명합니다. 현재 레포지토리 파일 백업 먼저, 현재 사용 중인 레포지토리 파일을 백업해 두는 것이 좋습니다. sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.b.. 2024. 5. 25.
개발 환경 구축하기 #1 리눅스 CENT OS 2009 MINI 버전 설치 후 개발 환경 구성하기 1. CENT OS 설치    - 다운로그 경로  https://www.centos.org/download/ DownloadHome Download Architectures Packages Others x86_64 RPMs Cloud | Containers | Vagrant ARM64 (aarch64) RPMs Cloud | Containers | Vagrant IBM Power BE (ppc64) RPMs Cloud | Containers | Vagrant IBM Power (ppc64le) RPMs Cloud | Containers | Vagrant ARM32 (armhfwww.centos.org2. x86_x64 선택 3. 네.. 2024. 5. 25.
드라이버 개발 연습 #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.
[ WIN ] 코드사인 (WinTrust API)검증 WinTrust API는 Windows 운영 체제에서 디지털 서명을 검증하고 파일 및 기타 객체의 신뢰성을 확인하는 데 사용됩니다. 이를 이해하기 쉽게 다이어그램으로 나타내 보겠습니다.다음은 WinTrust API의 주요 구성 요소와 흐름을 설명하는 다이어그램입니다.요청자(Requestor): 신뢰성을 확인하고자 하는 애플리케이션 또는 서비스.WinTrust API: 요청을 받아 디지털 서명을 검증하고 신뢰성을 평가하는 API.정책(Policy): 신뢰성 확인에 사용되는 기준 및 규칙 집합.신뢰 공급자(Trust Provider): 인증서와 서명을 검증하는 역할을 하는 엔티티.결과(Result): 파일 또는 객체의 신뢰성에 대한 검증 결과.[ 요청자 ] --> [ WinTrust API ] --> [ 정.. 2024. 4. 22.
반응형