用python计算/31 IP地址的另一个IP

问题描述 投票:0回答:1

我正在尝试在 python 中为点对点 IP 子网构建一个“邻居 IP 转换器”

ip_A = '192.168.70.70/31
ip_A_neigh = '192.168.70.71'

ip_B = '10.10.89.5/31
ip_B_neigh = '10.10.89.4'

我一直在研究 ipaddress 和 iptools python 模块,但我仍在尝试使用 python 找到我的方法...

我想我可以拆分,如果最后一个八位字节是偶数,则加 1 如果最后一个八位字节是奇数,则将其减 1。

有更好的方法吗?

python-3.x ip-address python-ipaddress
1个回答
0
投票

使用ipaddress模块。已经内置了 python3

import ipaddress

ip1 = "1.1.1.1/31"
net4 = ipaddress.ip_network(ip1, strict=False)
iface = ipaddress.ip_interface(ip1)
next_hop = ""
if iface.ip == net4[0]:
    next_hop = net4[1]
elif iface.ip == net4[1]:
    next_hop = net4[0]
© www.soinside.com 2019 - 2024. All rights reserved.