C#判断给定IP地址是否在指定范围内的方法
本文实例讲述了C#判断给定IP地址是否在指定范围内的方法。分享给大家供大家参考。具体分析如下:
比如给定一个ip段:127.0.0.1 ~ 127.0.0.255,我们想判断一个给定的ip地址是否在此段内,可以先将ip地址转换成整数,然后整数比较大小就很容易了。
例如:
127.0.0.1 = 2130706433
127.0.0.255 = 2130706687
判断:
127.0.1.253 = 2130706941
是否在此范围内,直接比较整数大小即可
将ip地址转换成整数:
public static long IP2Long(string ip)
{
string[] ipBytes;
double num = 0;
if(!string.IsNullOrEmpty(ip))
{
ipBytes = ip.Split('.');
for (int i = ipBytes.Length - 1; i >= 0; i--)
{
num += ((int.Parse(ipBytes[i]) % 256) * Math.Pow(256, (3 - i)));
}
}
return (long)num;
}
判断给定ip地址是否在指定范围内:
long start = IP2Long("127.0.0.1");
long end = IP2Long("127.0.0.255");
long ipAddress = IP2Long("127.0.1.253");
bool inRange = (ipAddress >= start && ipAddress <= end);
if (inRange){
//IP Address fits within range!
}
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
C# 根据ip获取城市等相关信息
复制代码 代码如下: /// <summary> /// 得到真实IP以及所在地详细信息(Porschev) /// </summary> /// <returns></returns> public string GetIpDetails() { //设置获取IP地址和国家源码的网址 string url = "http://www.ip138.com/ips8.asp"; string regStr = "(?<=&l
-
C#获取真实IP地址(IP转为长整形、判断是否内网IP的方法)
今天查看登录日志,发现http_x_forwarded_for获取到的ip地址有些是内网ip地址,有些则是公网和内网ip地址一起获取到,用逗号分隔开,日志截图如下: 之前获取ip地址的C#代码如下: 复制代码 代码如下: /// <summary> /// C#获取客户端真实IP地址 /// </summary> /// <returns></returns> public static string GetIP()
-
C#获取本机IP地址和Mac地址的方法
本文实例讲述了C#获取本机IP地址和Mac地址的方法.分享给大家供大家参考.具体分析如下: 查找了几个方法,经过调试修改,下面这个方法能很好的获取到本地的IP和MAC地址.可以用于这方面的功能实现.主要是要添加System.Management的引用. using System; using System.Management; using System.Net; public class Program { static void Main(string[] args) { try { str
-
c#获取本机的IP地址的代码
复制代码 代码如下: public static IPAddress GetHostIP(){ IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ip = ipe.AddressList[0]; return ip;} private String GetIPAddress(){ String str; String Result
-
C#获取计算机名,IP,MAC信息实现代码
利用C#获取计算机名,IP,MAC信息,如下为源代码: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Management; namespace Wenanry.Net { /// <summary> /// 获取计算机系统信息 /// </summary> public class ManagementSyst
-
C# 获取IP及判断IP是否在区间
话不多说,请看代码: /// <summary> /// 获取客户端IP /// </summary> /// <returns></returns> public static string GetClientIpAddress() { var httpContext = HttpContext.Current; if (httpContext.Request.ServerVariables == null) { return null; } var cl
-
C#判断ip地址是否可以ping的通
复制代码 代码如下: Ping pingSender = new Ping(); PingReply reply = pingSender.Send("127.0.0.1",120);//第一个参数为ip地址,第二个参数为ping的时间 if(reply.Status == IPStatus.Success) { //ping的通 } else { //ping不通 }
-
用C#编写获取远程IP,MAC的方法
如果要想获得远程的地址,需要用sendarp这个函数来实现.具体的代码如下: [DllImport("Iphlpapi.dll")] private static unsafe extern int SendARP(Int32 dest,Int32 host,ref IntPtr mac,ref IntPtr length); [DllImport("Ws2_32.dll")] private static extern Int32 inet_addr(st
-
c#获取本机在局域网ip地址的二种方法
复制代码 代码如下: /// <summary>/// 获取本机在局域网的IP地址/// </summary>/// <returns></returns>private string GetLocalIPAddress(){ System.Net.IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList; string strNativeIP = &quo
-
c#判断正确的ip地址格式示例
判断ip地址是否正确,直接用.Net现成的类,方法如下 复制代码 代码如下: string ipStr="192.168.222.333";IPAddress ip;if(IPAddress.TryParse(ipStr,out ip)){ Console.WriterLine("合法IP");}else{ Console.WriterLine("非法IP");}
随机推荐
- js跳转页面方法总结
- Ext中下拉列表ComboBox组件store数据格式用法介绍
- Kotlin this详解及实例
- Java实现爬虫给App提供数据(Jsoup 网络爬虫)
- perl跳过首行读取文件的实现代码
- ASP.net(C#)从其他网站抓取内容并截取有用信息的实现代码
- Python PyQt5实现的简易计算器功能示例
- python 实现删除文件或文件夹实例详解
- Python面向对象特殊成员
- 详解Android Webview加载网页时发送HTTP头信息
- 高性能PHP框架Symfony2经典入门教程
- 名人励志,鼓舞你的人生,《理想与信仰》,理想不是一帆风顺的
- 文本文件乱序排列bat实现代码
- sql中的 where 、group by 和 having 用法解析
- 设置密码保护的SqlServer数据库备份文件与恢复文件的方法
- PHP实现的封装验证码类详解
- PageSwitch插件实现100种不同图片切换效果
- jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
- jquery如何把参数列严格转换成数组实现思路
- JS实现兼容性好,带缓冲的动感网页右键菜单效果
