要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,具体实现如下,需要的朋友可以参考下
1)基本思路:
要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,不在同一子网。
2)具体实现:
/**
* [isEqualIPAddress 判断两个IP地址是否在同一个网段]
* @param {[String]} addr1 [地址一]
* @param {[String]} addr2 [地址二]
* @param {[String]} mask [子网掩码]
* @return {Boolean} [true or false]
*/
function isEqualIPAddress (addr1,addr2,mask){
if(!addr1 || !addr2 || !mask){
console.log("各参数不能为空");
return false;
}
var
res1 = [],
res2 = [];
addr1 = addr1.split(".");
addr2 = addr2.split(".");
mask = mask.split(".");
for(var i = 0,ilen = addr1.length; i < ilen ; i += 1){
res1.push(parseInt(addr1[i]) & parseInt(mask[i]));
res2.push(parseInt(addr2[i]) & parseInt(mask[i]));
}
if(res1.join(".") == res2.join(".")){
console.log("在同一个网段");
return true;
}else{ www.jbxue.com
console.log("不在同一个网段");
return false;
}
}
要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,不在同一子网。
2)具体实现:
复制代码代码如下:
/**
* [isEqualIPAddress 判断两个IP地址是否在同一个网段]
* @param {[String]} addr1 [地址一]
* @param {[String]} addr2 [地址二]
* @param {[String]} mask [子网掩码]
* @return {Boolean} [true or false]
*/
function isEqualIPAddress (addr1,addr2,mask){
if(!addr1 || !addr2 || !mask){
console.log("各参数不能为空");
return false;
}
var
res1 = [],
res2 = [];
addr1 = addr1.split(".");
addr2 = addr2.split(".");
mask = mask.split(".");
for(var i = 0,ilen = addr1.length; i < ilen ; i += 1){
res1.push(parseInt(addr1[i]) & parseInt(mask[i]));
res2.push(parseInt(addr2[i]) & parseInt(mask[i]));
}
if(res1.join(".") == res2.join(".")){
console.log("在同一个网段");
return true;
}else{ www.jbxue.com
console.log("不在同一个网段");
return false;
}
}
相关推荐
判断两个IP地址是否在同一个网段的步骤如下: 1. 将每个IP地址转换成32位的二进制形式。 2. 对应位上,用子网掩码与每个IP地址进行逻辑与(AND)运算。这会保留IP地址中的网络号部分,去除主机号部分。 3. 将得到的...
在探讨如何使用Javascript来判断两个IP地址是否处于同一网段时,我们需要理解IP地址和子网掩码的基础知识,并通过一种有效的算法来实现这一功能。根据提供的文档,我们将详细探讨该过程中的关键知识点。 首先,IP...
- **CIDR(无类别域间路由)**:一种更灵活的子网划分方法,允许在一个IP地址后面加上斜杠“/”后跟网络前缀的长度。 #### 三、IP地址的分配 **IP地址**是Internet Protocol Address的简称,用于唯一标识连接到...
1. **桥接模式(Bridge Mode)**:虚拟机的网络接口直接桥接到物理主机的网卡上,虚拟机与物理网络设备在同一网段,可以获取到真实的IP地址,能直接与其他设备通信。 2. **NAT模式(Network Address Translation)*...
通过循环对同一网段中的每一个可能的IP地址(从1到255)进行扫描,可以实现对该网段内所有可能端口为80的Web服务器的发现。 这个扫描过程的时间取决于网络的响应速度和服务器的数量,但通常Node.js执行的效率是比较...
这里的IDE设备包括了IDE硬盘和IDE光驱,第一、第二组设备是指主板上的第一、第二根IDE数据线,一般来说靠近芯片的是第一组IDE设备,而主设备、从设备是指在一条IDE数据线上接的两个设备,大家知道每根数据线上可以接...
<br>You can block an IP address by using: 你可以使用以下命令封禁一个IP地址: <br>deny from 000.000.000.000 where 000.000.000.000 is the IP address. If you only specify 1 or 2 of the ...
通过以上两个工具的介绍,我们可以看到,Vconsole主要适用于前端开发者在手机浏览器中进行调试,而Fiddler则能够提供更全面的网络数据捕获和分析能力,适用于多种移动端网络通信的调试场景。在实际开发和测试过程中...