博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA和C#检测IP地址段是否交叉和获取地址段IP列表的方法
阅读量:6942 次
发布时间:2019-06-27

本文共 1427 字,大约阅读时间需要 4 分钟。

一、说明

  我们经常编程时,需要对一个DIDR地段计算其可用IP地址,或者验证某个IP是否被包含在一个地址段中。

二、工具

  1、Java 可以使用 cidr-ip-trie库解决。

    https://github.com/veqryn/cidr-ip-trie

package com.yungoal.servicevpcs.utils;import com.github.veqryn.net.Cidr4;import org.junit.Test;public class CIDRUtils {    @Test    public void verifyCidr() {        com.github.veqryn.net.Cidr4 cidr1 = new Cidr4("192.168.1.0/28");        com.github.veqryn.net.Cidr4 cidr2 = new Cidr4("192.168.0.0/30");        boolean isInRange = cidr1.isInRange(cidr2, true);        System.out.println(isInRange);        System.out.println("---------------");        System.out.println(cidr1.getLowBinaryInteger(true));        System.out.println(cidr1.getHighBinaryInteger(true));        System.out.println("---------------");        System.out.println(cidr2.getLowBinaryInteger(true));        System.out.println(cidr2.getHighBinaryInteger(true));        System.out.println("---------------");        System.out.println(cidr1.getAddressRange());        System.out.println(cidr2.getAddressRange());        String[] addresses1 = cidr1.getAllAddresses(true);        for (String s : addresses1) {            System.out.println(s);        }        System.out.println("---------------");        String[] addresses2 = cidr2.getAllAddresses(true);        for (String s : addresses2) {            System.out.println(s);        }    }}

 

 

  2、C# 可以使用IPAddressRange库解决。

    https://www.nuget.org/packages/IPAddressRange/

 

转载地址:http://giinl.baihongyu.com/

你可能感兴趣的文章
让前端独立于后端进行开发,模拟数据生成器Mock.js
查看>>
微信公众平台开发—利用OAuth2.0获取微信用户基本信息
查看>>
golang遇到的win下读取txt字符乱码的问题
查看>>
Binary Search--二分查找
查看>>
《计算机图形学》2.1.6 三维观察设备 学习笔记
查看>>
QT在线
查看>>
以P2P网贷为例互联网金融产品如何利用大数据做风控?
查看>>
Polymer初探
查看>>
zprofiler三板斧解决cpu占用率过高问题(转载)
查看>>
深入浅出NIO Socket实现机制
查看>>
bzoj 1930: [Shoi2003]pacman 吃豆豆 [费用流]
查看>>
(数字IC)低功耗设计入门(三)——系统与架构级低功耗设计
查看>>
Dynamics CRM2016 新功能之从CRM APP中导出数据至EXCEL
查看>>
Android——推断Service是否已经启动
查看>>
subprocess模块
查看>>
大数据入门基础系列之初步认识大数据生态系统圈(博主推荐)
查看>>
linux下命令行的查找顺序
查看>>
基于HTML5 Canvas 点击添加 2D 3D 机柜模型
查看>>
详述 SQL 中的 distinct 和 row_number() over() 的区别及用法
查看>>
xshell 登陆堡垒机实现自动跳转
查看>>