Winsock 추적 제어
Winsock 추적은 다음 방법 중 하나를 사용하여 제어할 수 있습니다.
명령줄 도구
추적을 제어하고 이진 추적 로그 파일을 읽을 수 있는 텍스트로 변환하는 데 사용되는 Windows Vista 및 Windows Server 2008에는 두 개의 명령줄 도구가 포함되어 있습니다.
logman.exe 도구는 Winsock 추적을 시작하거나 중지하는 데 사용됩니다.
tracerpt.exe 도구는 이진 추적 로그 파일을 읽을 수 있는 텍스트 파일로 변환하는 데 사용됩니다.
이벤트 뷰어
Windows Vista 이상에서 이벤트 뷰어를 사용하여 Winsock 추적을 사용하도록 설정할 수도 있습니다. 이벤트 뷰어는 시작 메뉴의 관리 도구에서 액세스할 수 있습니다.
logman 및 tracerpt 사용
Winsock 네트워크 이벤트 추적은 Windows Vista 이상에서 기본적으로 사용하지 않도록 설정됩니다.
다음 명령은 컴퓨터에서 Winsock 네트워크 이벤트 추적을 시작하고, 이벤트 추적 세션의 이름을 mywinsocksession으로 설정하고, 출력을 winsocklogfile.etl이라는 이진 로그 파일로 보냅니다.
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
로그 파일은 현재 디렉터리에 winsocklogfile_000001.etl 형식의 파일 이름으로 만들어집니다.
다음 명령은 mywinsocksession이라는 세션의 컴퓨터에서 위의 Winsock 추적을 중지합니다.
logman stop -ets mywinsocksession
이진 로그 파일은 –o 매개 변수로 지정된 위치에 기록됩니다. 이진 파일을 읽을 수 있는 텍스트 파일로 변환하기 위해 tracerpt.exe 사용됩니다.
.etl 파일의 tracerpt.exe <이름> –o winsocktracelog.txt
일반 텍스트가 아닌 xml을 포함하는 출력 파일을 사용하는 경우 다음 명령이 사용됩니다.
.etl 파일의 tracerpt.exe <이름> -o winsocktracelog.xml -of xml
Winsock 카탈로그 변경 추적은 Windows Vista 이상에서 기본적으로 사용하도록 설정됩니다.
메모
계층화된 서비스 공급자는 더 이상 사용되지 않습니다. Windows 8 및 Windows Server 2012부터 Windows 필터링 플랫폼사용합니다.
다음 명령은 컴퓨터에서 LSP(계층화된 서비스 공급자)에 대한 Winsock 카탈로그 변경 추적을 시작하고, 이벤트 추적 세션의 이름을 mywinsockcatalogsession으로 설정하고, 출력을 winsockcatalogfile.etl이라는 이진 로그 파일로 보냅니다.
logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
로그 파일은 현재 디렉터리에 winsockcataloglogfile_000001.etl 형식의 파일 이름으로 만들어집니다.
다음 명령은 mysession이라는 세션의 컴퓨터에서 위의 Winsock 추적을 중지합니다.
logman stop -ets mywinsockcatalogsession
이진 로그 파일은 –o 매개 변수로 지정된 위치에 기록됩니다. 이진 파일을 읽을 수 있는 텍스트 파일로 변환하기 위해 tracerpt.exe 사용됩니다.
.etl 파일의 tracerpt.exe <이름> –o winsockcatalogtracelog.txt
일반 텍스트가 아닌 xml을 포함하는 출력 파일을 사용하는 경우 다음 명령이 사용됩니다.
.etl 파일 tracerpt.exe <이름> -o winsockcatalogtracelog.xml -of xml
이벤트 뷰어를 사용하여 Winsock 네트워크 이벤트 추적 시작
이벤트 뷰어를 열면 왼쪽 창에 이벤트 목록이 포함됩니다. 애플리케이션 및 서비스 로그 열고 Microsoft\Windows\Winsock 네트워크 이벤트 원본으로 이동하여 운영선택합니다.
작업 창에서 로그 속성 선택하고 로깅 사용 확인란을 선택합니다. 로깅을 사용하도록 설정하면 필요한 경우 로그 파일의 크기를 변경할 수도 있습니다.
이제 Winsock 네트워크 이벤트 추적이 사용하도록 설정되고 새로 고침 작업을 수행하여 기록된 이벤트 목록을 업데이트하기만 하면 됩니다. 로깅을 중지하려면 동일한 라디오 단추를 선택 취소하기만 하면 합니다.
보려는 이벤트의 수에 따라 로그 크기를 늘려야 할 수 있습니다. Winsock 추적을 위한 이벤트 뷰어의 한 가지 단점은 모든 문자열 리소스를 로드하지 않기 때문에, 설명 필드에 표시되는 메시지(이벤트를 선택한 후)를 읽기 어려울 수 있다는 것입니다. 예를 들어, 16진수로 서식이 지정되어야 할 인수가 10진수로 표시될 수 있습니다. 그러나 일반적으로 인수를 더 쉽게 이해할 수 있는 원시 XML 로그 항목을 보여주는 이벤트 설명에서 세부 정보 탭을 선택할 수 있습니다.
이벤트 뷰어를 사용하여 Winsock 카탈로그 변경 추적 시작
이벤트 뷰어를 열면 왼쪽 창에 이벤트 목록이 포함됩니다. 애플리케이션 및 서비스 로그 열고 Microsoft\Windows\Winsock 카탈로그 변경 로 이동하여 원본으로 설정하고 운영을 선택합니다.
작업 창에서 로그 속성 선택하고 로깅 사용 확인란을 선택합니다. 로깅을 사용하도록 설정하면 필요한 경우 로그 파일의 크기를 변경할 수도 있습니다.
이제 Winsock 카탈로그 변경 추적을 사용할 수 있으며 새로 고침 작업을 실행하여 기록된 이벤트 목록을 업데이트하기만 하면 됩니다. 로깅을 중지하려면 동일한 라디오 단추를 선택 취소하기만 하면 합니다.
보려는 이벤트의 수에 따라 로그 크기를 늘려야 할 수 있습니다. Winsock 추적용 이벤트 뷰어를 사용하는 한 가지 단점은 모든 문자열 리소스를 로드하지 않아서 설명 필드에 표시되는 메시지를 읽기 어려운 경우가 있다는 점입니다(예를 들어, 16진수로 서식이 지정되어야 할 인수가 10진수로 표시되는 경우가 있을 수 있습니다). 그러나 일반적으로 인수를 더 쉽게 이해할 수 있는 원시 XML 로그 항목을 보여주는 이벤트 설명에서 세부 정보 탭을 선택할 수 있습니다.
Winsock 추적 로그 해석
로그의 모든 Winsock 추적 이벤트에는 다음 두 가지 유형의 정보가 포함됩니다.
- 체계
- 이벤트 데이터
시스템 정보에는 로깅 수준, 로그 항목이 만들어진 시간, 이벤트 유형을 나타내는 이벤트 ID, 실행 프로세스 ID, 실행 스레드 ID 및 기타 시스템 정보가 포함됩니다. Winsock 추적의 로그 수준 4는 정보 이벤트 로깅을 나타냅니다. Winsock 추적의 로그 수준 5는 자세한 이벤트 로깅을 나타냅니다.
시스템 정보의 실행 프로세스 ID 및 스레드 ID는 이벤트가 발생했을 때 실행 중이던 프로세스와 스레드를 나타냅니다. 대부분의 경우 사용자 모드 스레드나 애플리케이션 프로세스가 아닌 커널 또는 작업자 스레드 및 프로세스를 나타냅니다. 따라서 이 필드는 일반적으로 매우 유용하지 않습니다.
각 Winsock 추적 이벤트 유형에는 기록된 데이터의 시스템 섹션에 고유한 이벤트 ID가 있습니다. 이러한 이벤트 ID를 사용하여 특정 Winsock 추적 이벤트에 대한 로그 파일을 필터링할 수 있습니다.
eventdata에는 이벤트 유형과 관련된 정보가 포함됩니다.
eventdata 정보의 Process 매개 변수는 실제 PID가 아닌 프로세스의 커널 EPROCESS 구조 주소입니다. 이벤트를 사용자 모드 PID와 일치하려면 모든 로그 항목의 eventdata 정보에서 프로세스 값을 가져와서 프로세스 값이 있는 소켓 생성 이벤트를 로그 앞부분에서 확인합니다. 일치 항목이 발견되면 소켓 생성 이벤트 데이터의 마지막 매개 변수는 소켓을 만든 사용자 모드 프로세스 ID입니다.
eventdata 정보의 Address 매개 변수는 일부 Winsock 추적 이벤트에서 반환됩니다. 주소 매개 변수는 IP 주소를 나타내지만 tracerpt.exe 도구 또는 이벤트 뷰어에서 만든 텍스트 파일에 원시 바이트 또는 숫자로 표시됩니다. IPv6 주소는 16진수로 표시되므로 더 쉽게 이해할 수 있습니다. IPv4 주소는 큰 10진수로 표시됩니다. 개발자는 값을 더 잘 해석할 수 있도록 IPv4 주소의 원시 바이트를 보다 친숙한 IPv4 점선 10진수 주소 표기법으로 수동으로 변환해야 합니다.
eventdata의 오류 매개 변수는 일부 Winsock 추적 이벤트에서 반환됩니다. 오류 매개 변수는 NTSTATUS 또는 HRESULT 오류 코드 형식입니다. 이 오류 매개 변수는 tracerpt.exe 도구에서 만든 텍스트 파일 또는 이벤트 뷰어에 10진수로 표시됩니다. 개발자는 경우에 따라 오류 코드를 더 잘 해석하기 위해 10진수를 16진수로 수동으로 변환해야 합니다.