python ipv6到cidr给出了错误的mas

2024-09-26 17:44:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将ipv6地址转换为cidr格式,但网络掩码似乎不正确。应该是/64,但我得到了/128

代码:

import ipaddress
ipv6 = '2001:19f0:5800:8561:5400:ff:fe07:cae5'
iv6cidr = ipaddress.ip_interface(ipv6)
print(iv6cidr)

输出:

^{pr2}$

预期产量:

2001:19f0:5800:8561:5400:ff:fe07:cae5/64

我不是IPv6向导,但我找到的每个子网计算器都显示/64

如何获得cidr格式的正确IPv6网络掩码??在

ifconfig:

vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=6c03bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 56:00:00:07:ca:e5
        inet 108.61.169.203 netmask 0xfffffe00 broadcast 108.61.169.255
        inet6 fe80::5400:ff:fe07:cae5%vtnet0 prefixlen 64 scopeid 0x1
        inet6 2001:19f0:5800:8561::64 prefixlen 64
        inet6 2001:19f0:5800:8561:5400:ff:fe07:cae5 prefixlen 64 autoconf
        nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
        media: Ethernet 10Gbase-T <full-duplex>
        status: active

Tags: 网络格式ipv6cidripaddressff掩码inet6
1条回答
网友
1楼 · 发布于 2024-09-26 17:44:19

/128是正确的。您没有在输入中指定前缀长度,因此代码必须猜测您的意思。它所做的猜测是最正确的一个:例如,可能在环回接口上使用的单个地址。显示a/64是一个假设。在

相关问题 更多 >

    热门问题