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

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...
NoWriterDateCnt.TitleFile(s)
13248정성태2/7/202311791오류 유형: 841. 리눅스 - [사용자 계정] is not in the sudoers file. This incident will be reported.
13247정성태2/7/202314240VS.NET IDE: 180. Visual Studio - 닷넷 소스 코드 디버깅 중 "Decompile source code"가 동작하는 않는 문제
13246정성태2/6/202314083개발 환경 구성: 664. Hyper-V에 설치한 리눅스 VM의 VHD 크기 늘리는 방법 - 두 번째 이야기
13245정성태2/6/202313769.NET Framework: 2093. C# - PKCS#8 PEM 파일을 이용한 RSA 개인키/공개키 설정 방법파일 다운로드1
13244정성태2/5/202313877VS.NET IDE: 179. Visual Studio - External Tools에 Shell 내장 명령어 등록
13243정성태2/5/202314503디버깅 기술: 190. windbg - Win32 API 호출 시점에 BP 거는 방법 [1]
13242정성태2/4/202313284디버깅 기술: 189. ASP.NET Web Application (.NET Framework) 프로젝트의 숨겨진 예외 - System.UnauthorizedAccessException
13241정성태2/3/202311501디버깅 기술: 188. ASP.NET Web Application (.NET Framework) 프로젝트의 숨겨진 예외 - System.IO.FileNotFoundException
13240정성태2/1/202312954디버깅 기술: 187. ASP.NET Web Application (.NET Framework) 프로젝트의 숨겨진 예외 - System.Web.HttpException
13239정성태2/1/202311427디버깅 기술: 186. C# - CacheDependency의 숨겨진 예외 - System.Web.HttpException
13238정성태1/31/202316642.NET Framework: 2092. IIS 웹 사이트를 TLS 1.2 또는 TLS 1.3 프로토콜로만 운영하는 방법
13237정성태1/30/202315285.NET Framework: 2091. C# - 웹 사이트가 어떤 버전의 TLS/SSL을 지원하는지 확인하는 방법
13236정성태1/29/202314653개발 환경 구성: 663. openssl을 이용해 인트라넷 IIS 사이트의 SSL 인증서 생성
13235정성태1/29/202314192개발 환경 구성: 662. openssl - 윈도우 환경의 명령행에서 SAN 적용하는 방법
13234정성태1/28/202316900개발 환경 구성: 661. dnSpy를 이용해 소스 코드가 없는 .NET 어셈블리의 코드를 변경하는 방법 [1]
13233정성태1/28/202317185오류 유형: 840. C# - WebClient로 https 호출 시 "The request was aborted: Could not create SSL/TLS secure channel" 예외 발생
13232정성태1/27/202313202스크립트: 43. uwsgi의 --processes와 --threads 옵션
13231정성태1/27/202312019오류 유형: 839. python - TypeError: '...' object is not callable
13230정성태1/26/202313206개발 환경 구성: 660. WSL 2 내부로부터 호스트 측의 네트워크로 UDP 데이터가 1개의 패킷으로만 제한되는 문제
13229정성태1/25/202315548.NET Framework: 2090. C# - UDP Datagram의 최대 크기
13228정성태1/24/202316208.NET Framework: 2089. C# - WMI 논리 디스크가 속한 물리 디스크의 정보를 얻는 방법 [2]파일 다운로드1
13227정성태1/23/202314961개발 환경 구성: 659. Windows - IP MTU 값을 바꿀 수 있을까요? [1]
13226정성태1/23/202313294.NET Framework: 2088. .NET 5부터 지원하는 GetRawSocketOption 사용 시 주의할 점
13225정성태1/21/202313203개발 환경 구성: 658. Windows에서 실행 중인 소켓 서버를 다른 PC 또는 WSL에서 접속할 수 없는 경우
13224정성태1/21/202313257Windows: 221. Windows - Private/Public/Domain이 아닌 네트워크 어댑터 단위로 방화벽을 on/off하는 방법
13223정성태1/20/202312854오류 유형: 838. RDP 연결 오류 - The two computers couldn't connect in the amount of time allotted
... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...