본문 바로가기

전체 글24

[Wireshark] 특정값으로 필터링 SIP 패킷 분석 시 특정 Call-ID의 패킷 필터링 방법SIP 패킷을 분석할 때 특정 Call-ID의 패킷만 필터링하는 방법을 알아보겠습니다.1. Call-ID 기반 필터링 방법Wireshark에서 Call-ID 필드를 찾습니다.해당 Call-ID를 우클릭합니다.Apply as Filter 메뉴를 선택합니다.하위 메뉴에서 And Selected를 클릭하면 기존 필터에 AND 조건이 추가됩니다.기존 필터가 SIP 패킷(sip)만 적용되어 있었다면, 아래와 같이 필터링 조건이 확장됩니다.(sip) && (sip.Call-ID == "12345")이처럼 수동으로 입력하여 특정 Call-ID의 패킷만 확인할 수도 있습니다.2. 다른 항목도 동일한 방식으로 필터링 가능Call-ID뿐만 아니라, From, To.. 2024. 7. 16.
[C#] 오디오 입력장치 조회 Windows API를 사용하여 C#에서 오디오 입력 장치 목록 조회하기 Windows API (winmm.dll) 라이브러리 사용하여 오디오 입력 장치 조회안녕하세요! 이번 포스트에서는 C#에서 Windows API의 winmm.dll 라이브러리를 사용하여 오디오 입력 장치 목록을 조회하는 방법을 소개합니다. 이를 통해 오디오 입력 장치의 정보를 프로그램에서 동적으로 가져올 수 있습니다. WinMethod 클래스 설명먼저, winmm.dll을 사용하기 위한 클래스를 정의합니다. 이 클래스는 오디오 입력과 출력을 처리할 수 있는 다양한 구조체와 메서드를 포함하고 있습니다.unsafe public class WinMethod{ // WAVEINCAPS 구조체 정의 [StructLayout(Lay.. 2024. 7. 11.
[C#] AES256 암/복호화 AES256 CBC 모드로 데이터 암호화 및 복호화하는 방법 AES256 암호화 소개AES (Advanced Encryption Standard) 알고리즘은 데이터를 안전하게 암호화하는데 널리 사용됩니다.특히 AES256은 256비트 키를 사용하는 강력한 암호화 방법으로, 데이터 보호에 효과적입니다.이번 포스트에서는 C#에서 AES256을 사용하여 데이터를 CBC (Cipher Block Chaining) 모드로 암호화하고 복호화하는 방법을 소개합니다. AES256의 주요 암호화 모드AES는 여러 가지 모드를 지원하며, 각 모드는 데이터 암호화 및 복호화 과정에서 다른 방식으로 동작합니다.이 중에서 가장 많이 사용되는 모드는 다음과 같습니다:1. ECB (Electronic Codebook) 모드ECB .. 2024. 7. 10.
[c++] cmake 작성법 Boost 및 Spdlog 라이브러리 사용법 Boost 라이브러리 사용법Boost는 C++에서 다양한 기능을 제공하는 라이브러리로, 많은 프로그램에서 필수적으로 사용됩니다.Boost를 프로젝트에서 사용하는 방법을 소개합니다. 먼저 Boost 라이브러리의 헤더 파일 경로를 포함시켜야 합니다. 1. Boost 헤더파일 경로 설정Boost 라이브러리를 프로젝트에 추가하려면, CMake에서 Boost의 경로를 지정하고 헤더 파일을 포함시켜야 합니다.아래는 Boost 라이브러리의 경로를 설정하는 예제입니다:set(Boost_ROOT "/usr/local/boost") # Boost의 설치 경로set(Boost_LIBRARY_DIR "/usr/local/lib") # Boost 라이브러리가 있는 경로set(Bo.. 2024. 7. 3.
[java] enum 상수값 가져오기 Java Enum 클래스 동적 접근 예제 1. EnumUtil 클래스Java에서 `enum` 클래스는 상수들을 관리하기 위한 편리한 방법을 제공합니다.`EnumUtil` 클래스는 `enum` 클래스의 상수 이름과 값을 동적으로 매핑할 수 있는 유틸리티 클래스로, `enum`의 상수 값을 이름을 통해 찾거나, 그 반대로 값을 이용하여 이름을 찾을 수 있게 도와줍니다.아래는 `EnumUtil` 클래스 코드입니다.public class EnumUtil { public static & EnumType> String getValueByName(Class enumClass, String name){ for(E enumConstant : enumClass.getEnumConstants()) { .. 2024. 7. 1.
[html] Thymeleaf 'th:if' Thymeleaf 조건부 렌더링 예제 1. Thymeleaf란?Thymeleaf는 자바 기반의 서버 사이드 템플릿 엔진으로, HTML, XML, JavaScript, CSS 등 다양한 형식의 템플릿을 처리할 수 있습니다. 주로 Spring Framework와 함께 사용되며, HTML을 템플릿으로 사용하고, 동적으로 데이터를 삽입할 수 있게 해줍니다. Thymeleaf는 XML 문서와 유사한 구조로 작동하며, 사용자 인터페이스를 동적으로 생성할 수 있습니다. Thymeleaf는 특히 HTML을 생성하는 데 유용하며, HTML을 미리 보기 없이 바로 작성할 수 있는 특징이 있습니다. 또한 템플릿을 개발자가 쉽게 읽고 이해할 수 있도록 도와줍니다. `th:if`, `th:unless`와 같은 조건부 렌더링 태.. 2024. 7. 1.