计算IP范围 - DigiNinja
概述
这个简短的脚本是因为我需要一种方法,能够在给定子网中ping通每个IP地址,而不使用广播ping。为什么不使用广播?因为显然有些交换机会阻止广播ping,所以如果途中有一些交换机,我的扫描可能无法到达子网上的每台机器。
更复杂的是,我只有子网中一台机器的IP地址和子网掩码。
我最初的想法是这很简单,对于IP 192.168.0.9,掩码为255.255.255.0,我将有一个192.168.0.0/24的子网,我可以只ping从192.168.0.1到192.168.0.254。但后来我意识到,如果我有一个IP为192.168.0.69,子网掩码为255.255.255.192呢?从这我将不得不ping从192.168.0.65到192.168.0.126的主机,或者对于172.16.66.76,掩码为255.255.192.0,这将给出主机范围从172.16.64.1到172.16.127.254。
在Twitter上快速求助后,我得到了很多指向在线子网计算器的建议,这些计算器手动给了我需要的答案,但没有提供脚本化查找范围顶部和底部的方法。然后Carlos Perez来救援,并指向了我ruby gem “ip”。这个很棒的小gem将接受一个IP和子网掩码,并从中提供我需要的所有信息,包括顶部和底部主机地址、网络和广播地址。
我发布的脚本显示了信息,然后执行ping并退出,我将留给你想象从那时起该做什么,或者你可以用其他什么命令替换ping。
安装
你只需要安装ip gem,这可以通过以root身份运行以下命令完成:
|
|
有些人可能还需要设置以下环境变量:
|
|
用法
用法很简单,只需将IP地址和子网掩码作为参数传递。
|
|
下载
下载计算IP范围工具
支持本站
我不从这个网站上的任何项目中获得报酬,所以如果你想支持我的工作,你可以使用下面的联盟链接,这样我可以获得账户积分或现金返还。通常只有几分钱,但它们都会累加起来。
请我喝一杯冰沙
所有内容由Robin Wood创建,除非另有说明