问题标签 [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.

0 投票
1 回答
1461 浏览

python-2.7 - 比较子网是否在 IP 范围内,在 Python 中?

我在 csv 文件中有一组带有标签描述的子网。我需要将这些描述分配给另一个 csv 文件中这些子网所属的 Data Probe 范围。

给定一个带有 ipaddress34.0.0.0和 netmask的子网255.255.0.0
我想检查子网是否在范围内34.163.83.230-34.163.83.230

我考虑过从子网的 ip 和网络掩码创建一个范围,并将其与 Data Probe 范围进行比较。我无法确定这是否会产生正确的答案。

我不能使用最新版本的 Python(这必须与运行 python 2.7 的应用程序一起使用),所以该ipaddress模块不适合我。

0 投票
4 回答
6504 浏览

python - 如何在 Python 中将 CIDR 前缀转换为点分四线网络掩码?

如何在 Python 中将 CIDR 前缀转换为点分四线网络掩码?

例如,如果前缀是12我需要返回255.240.0.0.

0 投票
2 回答
223 浏览

c - 检查网络掩码是否正确

您好,我有这样的网络掩码,fe 255.128.0.0,它是正确的网络掩码,我需要检查它。

如果我打印s我看到33023二进制形式的女巫是00000000.00000000.10000000.11111111,但这不等于我的输入网络掩码,那么我如何检查我的网络掩码是否正确?现在我通过比较十进制形式的网络掩码来检查它,for (int i = 31; i >=0; i--) sm |= (1 << i); 谢谢。

0 投票
3 回答
6866 浏览

perl - Perl 从 CIDR 计算网络掩码

我在这里的网站http://jmorano.moretrix.com/2010/08/calculate-netmask-in-perl上找到了一个小功能 我正在使用它,但它不会产生与他得到的相同的东西。

我将 CIDR 地址放在这样的变量中:

该函数应该返回类似的东西 255.255.255.0 但是相反,它返回

我在函数中唯一修改的是

并且返回只是更改为“打印” return $netmask;print "$netmask \n" ;

我想这里有问题

因为当我打印 $_bit 我只有“255”

但我不知道它是什么。

0 投票
1 回答
273 浏览

networking - 用掩码表示 IP 地址范围

给定一个 IP 地址范围,是否有一种算法可以将其转换为覆盖所有范围的 (ip,mask) 形式的一组对?

0 投票
2 回答
412 浏览

c - 我可以使用 int 类型作为 C 中 IP 地址的网络掩码吗?

我需要“与”一个 IP 地址及其子网掩码。IP 地址是一个十六进制数字,子网掩码是一个介于 0 - 32 之间的数字(不是 0)。

我可以使用下面的代码“与”这两个变量以获得 IP 地址的最高有效 25 位吗?

0 投票
1 回答
1501 浏览

android - DhcpInfo 没有响应 Android Lollipop 中的网络掩码

昨天我将我的nexus 5更新为棒棒糖并且我的应用程序停止工作,经过一番调查后我发现DhcpInfo不是在网络掩码变量上返回null的问题。

我找不到这门课的任何替代品。

0 投票
1 回答
684 浏览

perl - Perl: Split IP address into hostid and netid

Simple enough, I'd like to split a given IP address into netid (as defined by the netmask) and the hostid in Perl. Example:

Now $network->mask returns 255.255.255.248. But there're no methods in NetAddr::IP to apply the mask to split the address into its netid and hostid portions in the /29 space.

NetAddr::IP::Util mentions the operators to do so, but it's documentation is a mess.

At least the netid can be extracted using Net::NetMask:

This yields 192.168.255.248. Again, no method to get the host portion 0.0.0.7. Maybe the best would be to pack/unpack the IPs into 32 bit int and then simply & them out. Then it would be easier to print the binary representations of IP addresses too, which I found can be really helpful for debugging and documentation purposes.

0 投票
2 回答
610 浏览

c - 测试按位 IPv6 网络掩码是否连续的有效方法

我需要将 IP 地址/网络掩码存储在 in_addr/in6_addr 结构中。对于 IPv4,我使用以下代码测试网络掩码是否连续:

我想知道是否有一种聪明的方法可以为 IPv6 做同样的事情。

0 投票
1 回答
4647 浏览

java - Android,在网络共享和连接到接入点时检测 WiFi 的本地 IP 和子网掩码

我需要在 Android 设备上检测 WiFi 网络上的本地 IP 地址和子网掩码(以便严格为本地子网正确计算 UDP 广播地址)。

当设备连接到接入点时,以下各项正常工作:

但是当它是通过网络共享提供接入点的 android 设备时它不起作用:当 Android 设备是它的客户端时,DhcpInfo 似乎包含 DCHP 服务器设置的信息,而不是当它是 Android 设备本身提供 DHCP 服务时。在网络共享中,我能找到的最有希望的解决方案是:

编辑:错误,在我的测试中,即使这仅在不绑定时才有效。绑定 IP 时始终为 0。

但是没有什么像WifiInfo.getNetMask(),在这种情况下我怎样才能获得子网掩码?(这种缺席让我觉得很奇怪,因为那里有大量其他信息。我是否遗漏了一些明显的东西?)

此外,理想情况下,我想要一个不需要区分 Android 设备是否提供网络共享的解决方案,并且只需在 WiFi 网络上获取本地 IP 地址和子网掩码,无论如何,当 Android 设备是接入点的提供者或客户端。

即使是标准的 Java(即不是特定于 Android 的)NetworkInterface.getNetworkInterfaces(),似乎也没有办法获取子网掩码(除了不允许区分哪个对应于 WiFi)。我错过了什么?