Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (seongtaejeong at gmail.com)
홈페이지
첨부 파일
 

WinDbg - 네트워크 커널 디버깅이 가능한 NIC 카드 지원 확대

예를 들어, 설치된 네트워크 어댑터가 WinDbg의 커널 네트워크 디버깅을 지원하는 종류라면 kdnet.exe의 출력 결과가 대충 이렇게 나옵니다.

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64> kdnet

Network debugging is supported on the following NICs:
busparams=7.0.0, Realtek PCIe 2.5GbE Family Controller #2, Cable status unknown.

Network debugging is supported on the following USB controllers:
busparams=2.0.0, AMD USB 3.10 eXtensible Host Controller - 1.10 (Microsoft)
busparams=8.0.4, AMD USB 3.10 eXtensible Host Controller - 1.10 (Microsoft)
busparams=8.0.3, AMD USB 3.10 eXtensible Host Controller - 1.10 (Microsoft)

This Microsoft hypervisor supports using KDNET in guest VMs.

보는 바와 같이 "Realtek PCIe 2.5GbE Family Controller"로 인식된 NIC은 커널 디버깅을 지원합니다. 그런데, 저 지원 목록에 나오지 않았던 PC에서 오늘 우연히 kdnet을 실행했더니 메시지가 이렇게 바뀌어서 나왔습니다.

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64> kdnet

Network debugging is not supported on any of the NICs in this machine.

Newer versions of Windows support network debugging on the following NICs:
busparams=6.0.0, Intel(R) Ethernet Controller (3) I225-V, Min Build: 25250 (Version String Unknown).

Network debugging is supported on the following USB controllers:
busparams=0.20.0, Intel(R) USB 3.20 eXtensible Host Controller - 1.20 (Microsoft)

This Microsoft hypervisor supports using KDNET in guest VMs.

가만 보니까, 이게 NIC의 어떤 하드웨어 구성 요소가 요구되었던 것이 아니라 그냥 윈도우 측에서 능동적으로 지원을 하면 되는 식인 듯합니다.

Supported Ethernet NICs for Network Kernel Debugging in Windows 8
; https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/supported-ethernet-nics-for-network-kernel-debugging-in-windows-8

Supported Ethernet NICs for Network Kernel Debugging in Windows 8.1
; https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/supported-ethernet-nics-for-network-kernel-debugging-in-windows-8-1

Supported Ethernet NICs for Network Kernel Debugging in Windows 10
; https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/supported-ethernet-nics-for-network-kernel-debugging-in-windows-10

Supported Ethernet NICs for Network Kernel Debugging in Windows 11 23H2
; https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/supported-ethernet-nics-for-network-kernel-debugging-in-windows-11

그래서 새롭게 실행한 kdnet의 결과에서 볼 수 있듯이, "Intel(R) Ethernet Controller (3) I225-V"의 경우 "PCI\VEN_8086&DEV_15F3&REV_03"으로, 즉 Vendor ID == 8086, Device ID == 15F3 카드가 22H2 시점부터 지원된다고 합니다.

New in Windows 11 22H2 build 22621
; https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/supported-ethernet-nics-for-network-kernel-debugging-in-windows-11-22h2

이 정도라면, 아마도 현재는 지원하지 않는 NIC을 찾아보기기 힘들 정도일 것 같은데요, 따라서 예전에 실습이 안 돼서 포기했던 분이 있다면 다시 한번 시도해 보는 것도 좋겠습니다. ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 1/20/2025]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
14036정성태10/25/20251324디버깅 기술: 224. Visual Studio - 디버깅 시 다른 함수의 소스 코드를 보여주는 사례 (Enable COMDAT Folding 옵션)파일 다운로드1
14035정성태10/24/20251311C/C++: 189. Visual C++ - 디버그 코드에서 빌드 옵션 조정으로 최적화 코드로의 전환파일 다운로드1
14034정성태10/22/20251314닷넷: 2375. C# - dynamic 사용 시 internal 멤버에 대한 RuntimeBinderException 예외가 발생하는 문제파일 다운로드1
14033정성태10/22/20251777닷넷: 2374. C# - dynamic과 "Explicit Interface Implementation"의 문제파일 다운로드1
14032정성태10/21/20251396닷넷: 2373. C# - dynamic 예약어 사용 시 런타임에 "Microsoft.CSharp.RuntimeBinder.RuntimeBinderException" 예외가 발생하는 경우파일 다운로드1
14031정성태10/20/20251321Linux: 128. "USER ..." 설정이 된 Docker 컨테이너의 호스트 측 볼륨 권한 (2)
14030정성태10/20/20251564Linux: 127. "USER ..." 설정이 된 Docker 컨테이너의 호스트 측 볼륨 권한
14029정성태10/17/20252204닷넷: 2372. C# - ssh-ed25519 유형의 Public Key 파일 해석파일 다운로드1
14028정성태10/17/20252407오류 유형: 985. openssh - ssh_host_ed25519_key 파일을 로드하지 못하는 문제
14027정성태10/15/20252381닷넷: 2371. C# - CRC64 (System.IO.Hashing의 약식 버전)파일 다운로드1
14026정성태10/15/20252674닷넷: 2370. 닷넷 지원 정보의 "package-provided" 의미
14025정성태10/14/20252611Linux: 126. eBPF (bpf2go) - tcp_sendmsg 예제
14024정성태10/14/20253130오류 유형: 984. Whisper.net - System.Exception: 'Cannot dispose while processing, please use DisposeAsync instead.'
14023정성태10/12/20253176닷넷: 2369. C# / Whisper 모델 - 동영상의 음성을 인식해 자동으로 SRT 자막 파일을 생성 [1]파일 다운로드1
14022정성태10/10/20253495닷넷: 2368. C# / NAudio - (AI 학습을 위해) 무음 구간을 반영한 오디오 파일 분할파일 다운로드1
14021정성태10/6/20253889닷넷: 2367. C# - Youtube 동영상 다운로드 (YoutubeExplode 패키지) [1]파일 다운로드1
14020정성태10/2/20253278Linux: 125. eBPF - __attribute__((preserve_access_index)) 활용 사례
14019정성태10/1/20253550Linux: 124. eBPF - __sk_buff / sk_buff 구조체
14018정성태9/30/20252640닷넷: 2366. C# - UIAutomationClient를 이용해 시스템 트레이의 아이콘을 열거하는 방법파일 다운로드1
14017정성태9/29/20253129Linux: 123. eBPF (bpf2go) - BPF_PROG_TYPE_SOCKET_FILTER 예제 - SEC("socket")
14016정성태9/28/20253504Linux: 122. eBPF - __attribute__((preserve_access_index)) 사용법
14015정성태9/22/20252755닷넷: 2365. C# - FFMpegCore를 이용한 MP4 동영상으로부터 MP3 음원 추출 예제파일 다운로드1
14014정성태9/17/20252755닷넷: 2364. C# - stun.l.google.com을 사용해 공용 IP 주소와 포트를 알아내는 방법파일 다운로드1
14013정성태9/14/20253917닷넷: 2363. C# - Whisper.NET Library를 이용해 음성을 텍스트로 변환 및 번역하는 예제파일 다운로드1
14012정성태9/9/20254107닷넷: 2362. C# - Windows.Media.Ocr: 윈도우 운영체제에 포함된 OCR(Optical Character Recognition)파일 다운로드1
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...