由IP和掩码计算广播地址
public static IPAddress GetBroadcast(IPAddress ipAddress, IPAddress subnetMask)
{
var ip = ipAddress.GetAddressBytes();
var sub = subnetMask.GetAddressBytes(); // 广播地址=子网按位求反 再 或IP地址
for (var i = ; i < ip.Length; i++)
{
ip[i] = (byte) ((~sub[i]) | ip[i]);
}
return new IPAddress(ip);
}
获取本机的广播地址。
public static List<IPAddress> LocalBroadcasts
{
get
{
var lst = new List<IPAddress>();
using (var moc = new ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances())
{
foreach (var item in moc)
{
using (item)
{
var ipArray = item["IPAddress"] as string[];
var subArray = item["IPSubnet"] as string[]; if (ipArray == null || subArray == null) continue; for (var i = ; i < ipArray.Length; i++)
{
var ipAddress = IPAddress.Parse(ipArray[i]);
var subAddress = IPAddress.Parse(subArray[i]); if (ipAddress.IsIPv6LinkLocal) continue; lst.Add(GetBroadcast(ipAddress, subAddress));
} }
}
}
return lst;
}
}
由IP和掩码计算广播地址的更多相关文章
- 掩码计算工具netmask
掩码计算工具netmask 在网络扫描和防火墙配置中,经常需要计算IP地址范围和对应的掩码.为了简化这个过程,Kali Linux预置了一个掩码计算工具netmask.该工具不仅可以根据IP地址范 ...
- IP、CIDR、广播地址、子网掩码、MAC地址--这些是什么鬼
继续学习趣谈网络协议中的内容,认识几个专有名词,IP.CIDR.广播地址.子网掩码.MAC地址,这些都是什么鬼? 一.IP IP地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码 (1) ...
- access-list/eigrp等 反掩码计算
access-list/eigrp等 反掩码计算 原则:地址部分,相同的照写,不同的写"0" 反掩码部分,相同的写"0",不同的写"1&quo ...
- Linux下用ifconfig命令设置IP、掩码、网关
设置IP和掩码ifconfig eth0 192.168.1.240 netmask 255.255.255.0设置网关route add default gw 192.168.1.1 每日一言:靡不 ...
- 如何通过掩码计算可用的IP数量
假设掩码是28,28也就是28个1.本身掩码是255.255.255.255那么转换成二进制也就是 11111111,11111111,11111111,11111111 那么28个1也就是: 111 ...
- C#根据IP地址和子网掩码计算广播地址
using System.Net; /// <summary> /// 获得广播地址 /// </summary> /// <param name="ipAdd ...
- 关于IP的相关计算
不论是考研还是考各种计算机类的证,大家或多或少都会遇到网络部分的一种题型,大体的归类就是以下几种: 已知一个IP是192.XX.XX.XX,子网掩码是255.255.255.0,那么它的网络地址是多少 ...
- IP首部校验和计算
根据RFC1071文档的计算方法,编写代码实现IP首部校验和的计算 计算步骤: 1.首先将IP首部中校验和字段置0 2.将IP首部每16bit进行相加,如果有进位产生,则将进位加到最低位. 3.将计算 ...
- 查询设备的IP地址/掩码/MAC/网关
import commands, sys import platform from _utils.patrol2 import run_cmd, data_format, report_format ...
随机推荐
- [转]AutoResetEvent 与 ManualResetEvent区别
在C#多线程编程中,这两个类几乎是不可或缺的,他们的用法/声明都很类似,那么区别在哪里了? Set方法将信号置为发送状态 Reset方法将信号置为不发送状态 WaitOne等待信号的发送 其实,从名字 ...
- Scrum 项目 6.0
-------------------------6.0------------------------------------ sprint演示 1.坚持所有的sprint都结束于演示. 团队的成果 ...
- ServletFileUpload(Servlet文件上传)
//**文件上传** form表单提交必须指定Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型"multipart/form-data" //1.创建磁盘文件项目工 ...
- 利用DropDownList实现下拉
在视图的Model<Vo>里面我们需要使用IEnumerable来将别的列表的数据全部的转化为下拉列表.下面是关于在项目中实际的写法. 一:实现下拉属性列表的写法 通过使用Select ...
- PHP限制HTML内容中图片必须是本站的方法
本文实例讲述了PHP限制HTML内容中图片必须是本站的方法.分享给大家供大家参考.具体实现方法如下: 1. PHP代码如下: <?php $dom = new DOMDocument; $dom ...
- C#从服务器下载文件到客户端源码
1.在window窗体加个button控件,双击进去
- 译 PrestaShop开发者指南 第三篇 设置本地安装环境
## 环境要求 - Unix, Linux 或 Windows - Web服务器:Apache 1.3 或更高的版本 - PHP:5.2或更高版本 - MySQL:5.0或更高版本 PrestaSho ...
- UGUI之布局的使用
unity的LayoutGroup分为三种, Horizontal Layout Group(水平布局):对象填充总个父物体,水平会填充 Vertical Layout Group(垂直布局):垂直( ...
- 方法----MessageDigest和DigestUtils加密算法
总结:使用DigestUtils的方法加密的结果与messageDigest的方法加密结果一致,可使用DigestUtils替换MessageDigest 可省掉部分代码 package com.ac ...
- FAQ_1_陌生的VERSION.SDK_INT
看到VERSION.SDK_INT不禁诧异,这是何物?! 看API的定义,如下: 原来是一个常量值.但是这个常量值可以根据系统的不同而不同哟!为了揭开其神秘的面纱,将源码ctrl如下: 可以看出,获取 ...