如何在 WinDbg Windows 内核调试中查找 IP 地址

如何在 WinDbg Windows 内核调试中查找 IP 地址

我发现本文,来自 OSR 论坛,但是,它在 Windows 10 中不起作用。

2: kd> x srvnet!SrvAdminIpAddressList
81fb06b8 srvnet!SrvAdminIpAddressList = <no type information>
2: kd> du poi(poi(srvnet!SrvAdminIpAddressList))
85c52090 "127.0.0.1"

有一个未记录的位来!process获取环境变量+主机名,但有时 DNS 失败,因此需要 IP 地址进行日志记录。

$$ !process will dump all the environment variables and hostname 0x31 is magic value.
bu module!class::function "!process 0 0x31 wininit.exe; gc"

答案1

基于https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/-ndiskd-netadapter

$$ find IP address of host
!ndiskd.netadapter -ip

示例输出:

14:kd> !ndiskd.netadapter -ip 驱动程序 NetAdapter 名称
ffffce85591b7450 ffffce8558ff51a0 Microsoft 内核调试网络适配器

IP 地址

unicast            ffffce855af44040 - 10.6.185.61
multicast          ffffce855968c040 - 224.0.0.1
multicast          ffffce855b45e040 - 224.0.0.251
multicast          ffffce855b449040 - 224.0.0.252
multicast          ffffce855968c130 - 239.255.255.250
broadcast          ffffce8559688040 - 255.255.255.255
broadcast          ffffce855af42040 - 10.6.185.255
unicast            ffffce8559694040 - fe80::e929:f1ef:83da:31b
multicast          ffffce855969a040 - ff01::1
multicast          ffffce855969a130 - ff02::1
multicast          ffffce855969a220 - ff02::1:ffda:31b
multicast          ffffce855b423040 - ff02::fb
multicast          ffffce855b450040 - ff02::1:3
multicast          ffffce8558c1f040 - ff02::c

请注意,您需要私人的的符号tcpip.sys才能使其起作用,否则:

11:kd> !ndiskd.netadapter -ip ... *** 错误:找不到符号文件。默认为 ndis.sys 导出符号 - ... *** 引用的类型:ndis!_LIST_ENTRY ***


另一种方法是,如果您的主机使用 DHCP,则分配给 KDNET 虚拟适配器的 IP 地址将相同,因为 DHCP 服务器使用 MAC 地址分配 IP 地址,并且 KDNIC 适配器具有与真实 NIC 相同的 MAC。当机器首次启动并协商与 WinDbg 的连接时,会打印此信息。

Connected to target 172.xxx.yyy.zzz on port 50009 on local IP 172.xxx.yyy.zzz

相关内容