def validateIpRangeSize(start, end): try: ipRange = IPRange(start, end) except Exception as e: raise serializers.ValidationError({'IP Range': _(str(e))}) if ipRange.__getstate__()[2] == 4: return True if ipRange.size <= 65536 else False if ipRange.__getstate__()[2] == 6: return True if ipRange.size <= 324518553658426726783156020576256 else False
def isIpRangePrivate(start, end): if IPAddress(start).is_private() or IPAddress(end).is_private(): return True try: ipRange = IPRange(start, end) except Exception as e: raise serializers.ValidationError({'IP Range': _(str(e))}) if ipRange.__getstate__()[2] == 4: for cidr in IPV4_PRIVATE: if ipRange.__contains__(cidr): return True if ipRange.__getstate__()[2] == 6: for cidr in IPV6_PRIVATE: if ipRange.__contains__(cidr): return True return False