| 方法 | IP1 AND 掩码 == IP2 AND 掩码 ? |
|---|---|
| 例(同段) | 192.168.1.10/25 与 192.168.1.60/25 都在 192.168.1.0/25 |
| 例(不同段) | 192.168.1.10/25 在 0/25,192.168.1.130/25 在 128/25 |
Python 一行判断
Python 一行判断
import ipaddress as ip
ip.ip_address('192.168.1.10') in ip.ip_network('192.168.1.0/25') # True
ip.ip_address('192.168.1.130') in ip.ip_network('192.168.1.0/25') # False路由表视角
路由表视角
ip route get 192.168.1.130
# 192.168.1.130 dev eth0 src 192.168.1.10 ← 同段直连(经由本机接口)/25 的边界在 .128:10 与 60 同段、10 与 130 不同段。判断前先确认掩码,而不是只看前三段是否相同。