3

无论如何确定Windows计算机是否使用本机实用程序、python或php运行IPV6?

4

5 回答 5

6

这就是我通过尝试打开 IPv6 套接字来解决问题的方法。如果系统没有抛出错误,那么它正在使用 IPv6。

import socket

def isIPV6():   
    ipv6 = True
    try:
        s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
    except:
        ipv6 = False
    return ipv6
于 2010-11-29T19:31:23.270 回答
3

当然。如果ipconfig包含IPv6 Address真实接口的条目,则您可能已获得 IPv6 连接。也有有用的注册表项HKLM\SYSTEM\CurrentControlSet\services\TCPIP6

于 2010-11-24T16:18:53.377 回答
1

每台计算机都标配 IPv4。IPv6 仅在特定机器上启用。但是如果你解析 ifconfig/ipconfig 那么你应该在输出中找到一个 IPv4/6 地址

于 2010-11-24T16:12:24.160 回答
1

像其他人所说的那样,枚举接口并检查 IPv6 地址。替代方法包括尝试打开 IPv6 套接字或让 Python 调用WSCEnumProtocols()

于 2010-11-26T00:22:44.733 回答
0

Jakob 的方法是最简单的。您可以通过管道传输结果并进行匹配以查看网络适配器是否具有有效的 IPv6 地址。

此外,您可以通过获取 Windows Management Instrumentation 类Win32_NetworkAdapterConfiguration来获得此信息。该属性IPAddress是与网络适配器关联的所有 IP 地址的数组,您可以匹配它们以查看是否有IPv6关联的地址。但是 PS 有点矫枉过正,除非您需要做一些更容易理解和花哨的事情(发送 HTTP 请求;更改一些网络规则;重新启动服务),否则我会选择 Jakob 或 Wyatt 的答案。

于 2010-11-24T16:26:00.567 回答