无论如何确定Windows计算机是否使用本机实用程序、python或php运行IPV6?
5 回答
这就是我通过尝试打开 IPv6 套接字来解决问题的方法。如果系统没有抛出错误,那么它正在使用 IPv6。
import socket
def isIPV6():
ipv6 = True
try:
s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
except:
ipv6 = False
return ipv6
当然。如果ipconfig
包含IPv6 Address
真实接口的条目,则您可能已获得 IPv6 连接。也有有用的注册表项HKLM\SYSTEM\CurrentControlSet\services\TCPIP6
。
每台计算机都标配 IPv4。IPv6 仅在特定机器上启用。但是如果你解析 ifconfig/ipconfig 那么你应该在输出中找到一个 IPv4/6 地址
像其他人所说的那样,枚举接口并检查 IPv6 地址。替代方法包括尝试打开 IPv6 套接字或让 Python 调用WSCEnumProtocols()
Jakob 的方法是最简单的。您可以通过管道传输结果并进行匹配以查看网络适配器是否具有有效的 IPv6 地址。
此外,您可以通过获取 Windows Management Instrumentation 类Win32_NetworkAdapterConfiguration来获得此信息。该属性IPAddress
是与网络适配器关联的所有 IP 地址的数组,您可以匹配它们以查看是否有IPv6
关联的地址。但是 PS 有点矫枉过正,除非您需要做一些更容易理解和花哨的事情(发送 HTTP 请求;更改一些网络规则;重新启动服务),否则我会选择 Jakob 或 Wyatt 的答案。