前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >应用|IP子网计算器和一揽子附加项

应用|IP子网计算器和一揽子附加项

作者头像
琉璃康康
发布2022-11-23 14:20:01
4440
发布2022-11-23 14:20:01
举报
文章被收录于专栏:七禾页话

后山的夏天,总是有落霞和天线同窗

学习永无止境,记录相伴相随! —— 琉璃康康

直入正题,今天分享一个自己写的IP子网计算器。

为什么要写这个软件?

作为通信工程师,IP划分是一个不可躲避的任务,划分IP的时候经常会遇到两个问题,一个是客户直接给你一个很大的地址段,需要按需分配进行子网切割;另一个就是在一个IP段中需要知道哪些是可以用的主机地址,方便进行网络地址分配到具体的业务。

基于以上两个问题,对于我这种非计算机型的人脑就需要借助一些工具辅助计算。

用了几个离线的或者在线的IP计算系统后,遇到了两个问题,一个是IPv4需要一个手动填写每一个点分十进制后,在选择对应的掩码长度,最后点一个确认按钮后得出结果;另一个就是没有找到一个IPv4和IPv6同时支持的工具。

遇到这样的问题大概率是我没有进行深度的网络搜索,信息时代,爆炸的是信息,但是有用的就不出现在你身边。

所谓自己动手丰衣足食,车到山前不一定有路,但是走的人多了就自然成了路,所以就决定私人订制一个自己的IP子网计算器,正好在Github里发现了一个叫做ipnetwork的Repository,基于C#写的一个IP计算的类,看了下完全是自己想要的,这个Repository完全可以命令行使用,如果有兴趣的朋友可以直接使用,仓库链接是:https://github.com/lduchosal/ipnetwork

C#是我在众多编程语言中相对熟悉的了,果断套壳封装一个图形化界面。

最终主要应用,也就是IP子网计算如下,直接在IP地址栏输入IPv4或者IPv6即可,在输入的过程中就完成了IP格式的检测,一旦检测到一个合规的IP地址后,根据IPv4或者IPv6直接输出相应的结果,简单直接粗暴。

上图演示的是版本1,今天更新到了版本1.1,针对IPv4的结果添加了反掩码的输出,想来对ACL的书写会有帮助。

输出框是一个RichTextBox,可以直接全选复制出来。

另外如果IP地址中没有掩码,默认使用其类掩码,也就是A类是8,B类是16,C类24,IPv6默认使用64作为默认前缀长度。

除了主要功能之外,IPCalculate也封装了其他的功能,可以通过主程序的“More”按钮开启。

第一个子功能就是IP子网划分,就是将一个大段的网络,根据输入的新的掩码或者前缀长度,进行全新的划分,为了保证快速的输入,如果划分后的子网数量超过10个,目前只输出前十个:

第二个子功能是判断一个IP或者IP段是否包含在其他的地址段中,也是IPv4和IPv6都支持。

第三个子功能是子网合并。

目前此功能要求是相邻的两个子网合并,而且合并后只能包含这两个才可以完成合并,举个例子:

比如:

  • 想合并2.2.0.0/29和2.2.0.8/29,是可以成功的,因为合并后的2.2.0.0/28不再包含任何其他的/29的子网。
  • 想合并2.2.0.8/29和2.2.0.16/29,就是失败的,因为合并后是一个/27的掩码,但是2.2.0.0/27中不仅包含了2.2.0.8/29和2.2.0.16/29,还包含2.2.0.0/29和2.2.0.24/29,所以目前这个在此软件汇中是不能合并的。

子功能的自我验证

最后,当然少不了关于和帮助,直接在主功能中点击“About”进入。

About里包含了软件的名字版本和版权,以及各个版本的迭代,当然也少不了一波宣传,就是扫码关注七禾页话(qiheyehk)公众号,可以反馈bug或者功能需求。

当然也可以通过https://github.com/MinpuKang/IPCalculate/issues直接在这个项目的Github仓库提交Issue或者新功能需求。

最后的最后,希望这个小工具能发光发热!


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七禾页话 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档