问题标签 [netmask]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何使用 Java 从 CIDR 表示法或地址网络掩码对中获取 IP 范围
例如:
如何获取 CIDR 表示法 10.66.114.0/24 的高低 ip 地址
在这种情况下,答案是:
10.66.114.1 - 10.66.114.254
java - 在 Java 中使用公共 SubnetUtils.SubnetInfo.getNetmask() 反转网络掩码
可以说我有这个:
是否有一种简单的方法可以反转掩码(Cisco ACL 样式)?
java - Java 和 Windows 7:可靠地获得 IPv4 网络掩码?
我在 Windows 上遇到了 Java 6 的一个已知错误。我的理解是获取网络掩码的正常方法是查找网络前缀长度并进行一些位移。问题是在 Windows 上,前缀长度经常被错误地返回,所以我们得到 128 而我们应该得到 24 或 20。
在这个解决方案中,建议放在-Djava.net.preferIPv4Stack=true
Java 命令行上。不幸的是,在 Windows 7 上,将其添加为 VM 参数或 Java 命令行似乎没有任何效果。
(a) 有没有人知道在 Windows 7 上可能仍然有效的此问题的任何其他解决方法?
(b) 或者,是否有完全不同的方法来获得可靠的网络掩码?
谢谢!
PS 这是与此相关的错误报告。
interface - 无法从一组路由条目返回最佳接口
所以我试图从路由条目中返回一个最佳匹配接口。但是,它并不完全按照我想要的方式工作。我以应有的方式返回了 6 个值中的 5 个,但我很确定路由表中有一百万个条目,我的算法将不起作用。我正在使用二进制搜索来解决这个问题。但是,例如,我要返回的接口的 ipaddress 小于我作为参数传递的 ipaddress,则二进制搜索算法不起作用。结构如下所示:
假设路由表如下所示:
{ 0x00000000, 0x00000000, 1 }, // [0]
{ 0x0A000000, 0xFF000000, 2 }, // [1]
{ 0x0A010000, 0xFFFF0000, 10 }, // [2]
{ 0x0D010100, 0xFFFFFF00, 4 }, // [3]
{ 0x0B100000, 0xFFFF0000, 3 }, // [4]
{ 0x0A010101, 0xFFFFFFFF, 5 }, // [5]
示例输入/输出:
- 常规搜索
输入:0x0D010101 输出:4(条目 [3])
输入:0x0B100505 输出:3(条目 [4])
- 要查找任意地址,它应该转到默认界面。
输入:0x0F0F0F0F 输出:1(条目 [0])
- 要查找与多个条目匹配的地址,请选择最佳匹配。
输入:0x0A010200 输出:10(条目 [2])
输入:0x0A050001 输出:2(条目 [1])
输入:0x0A010101 输出:5(条目 [5])
但我的输出看起来像 2、3、1、10、1、5。我不明白我在哪里搞砸了。你能解释一下我在哪里做错了吗?任何帮助都会很棒。提前致谢。然而,这就是我的算法的样子(假设条目已排序):
{ int 开始 = 0;
}
php - 转换网络掩码 php
如何将网络掩码转换为特定的网络掩码。
示例:127.0.0.0/16 转换为 /24 网络掩码。
它应该输出如下内容:
等一直到 127.0.255.0/24。
这如何通过 PHP 来实现?我找到了这个工具: http: //jodies.de/ipcalc它是用 PERL 编码的。如何使用 PHP 获得类似的功能?
我发现了这个:http: //jasonkolpin.com/classes/ipcalc/demo.php虽然它似乎坏了.. 可能会尝试修复它。
更新已解决:我基本上运行:$exec = shell_exec("/usr/local/bin/ipcalc 127.0.0.0/16 24 -b -n");
并解析出 Network: 字段。这基本上将 127.0.0.0/16 转换为所有 /24s。
确保在主机上安装了 ipcalc 以完成此操作。您可以通过yum install ipcalc
在 CentOS、apt-get install ipcalc
Ubuntu 或cd /usr/ports/net-mgmt/ipcalc/ && make install clean
FreeBSD 中使用来做到这一点 :)
sockets - Socket programming - broadcast with net mask class B
I have a problem with broadcasting data when I'm using class B of netmask. For example I have 3 PC's with these configs:
PC1: IP Address: 192.168.1.10 Netmask: 255.255.0.0
PC2: IP Address: 192.168.1.11 Netmask: 255.255.0.0
PC3: IP Address: 192.168.2.5 Netmask: 255.255.0.0
I want to send a broadcast packet from PC1 to PC's in range 1 only (PC2 in this example). But as I found I should use 192.168.255.255 as broadcast address that sends the packet to PC2 and PC3 together. I can't use something like 192.168.1.255 to send the packet to PC2 only. Is there any way to send packet to range 1 only?
Thanks in advance
java - 如何计算以位表示的具有 ip 的下一个 IP 地址?
我从 DHCP 信息中获取 IP 地址。当我有位表示的 IP 时如何计算下一个 IP 地址。
vbscript - 使用 VBScript 从 IP 地址/网络掩码计算 IP 范围
我讨厌问这个问题,但对脚本很陌生,需要帮助。
我想使用 VBS 创建一个计算器,它将接受我的输入并给我一个可接受的 IP 地址范围。
例如:
VBS 要求用户输入用户输入 IP 地址/网络掩码:214.13.104.128/28
输出: IP Address Range = 214.13.104.129 - 214.13.104.190
我知道您可以使用许多在线工具,但我需要在无法访问互联网的系统上使用它。
bash - 从 ifconfig 输出中提取网络掩码并以 CIDR 格式打印
我需要提取两组 IP 的网络掩码并以 CIDR 格式打印到屏幕上。考虑使用 shell 或 tcl 来做到这一点。猜猜这里的主要问题是将十六进制网络掩码转换为 CIDR 格式。
尝试了一些不同的东西,但似乎没有按预期工作。
shell - 在 Solaris shell 中计算子网
我需要计算子网,在 Solaris 机器外壳(bash,但可能是其他的)中具有 IP 地址和网络掩码。
一些例子:
我有两种计算方法:
和
但我觉得他们俩都有点“脏”。我想要一种“更干净”的方式来计算子网,我的项目中的其他人很容易理解。
我不喜欢使用perl或python,但可以考虑。