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