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地址的代码
复制代码 代码如下: 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地址(IP转为长整形、判断是否内网IP的方法)
今天查看登录日志,发现http_x_forwarded_for获取到的ip地址有些是内网ip地址,有些则是公网和内网ip地址一起获取到,用逗号分隔开,日志截图如下: 之前获取ip地址的C#代码如下: 复制代码 代码如下: /// <summary> /// C#获取客户端真实IP地址 /// </summary> /// <returns></returns> public static string GetIP()
-
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获取城市等相关信息
复制代码 代码如下: /// <summary> /// 得到真实IP以及所在地详细信息(Porschev) /// </summary> /// <returns></returns> public string GetIpDetails() { //设置获取IP地址和国家源码的网址 string url = "http://www.ip138.com/ips8.asp"; string regStr = "(?<=&l
-
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,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,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地址是否可以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地址格式示例
判断ip地址是否正确,直接用.Net现成的类,方法如下 复制代码 代码如下: string ipStr="192.168.222.333";IPAddress ip;if(IPAddress.TryParse(ipStr,out ip)){ Console.WriterLine("合法IP");}else{ Console.WriterLine("非法IP");}
随机推荐
- 如何在Angular2中使用jQuery及其插件的方法
- 好用的真正正版的WINRAR注册密钥【适用于任何版本】
- 最强的用批处理编写的病毒
- 将字符串数字格式化为样式1,000,000,000的方法
- PHP实现SQL语句格式化功能的方法 原创
- Android Wifi的forget()操作实例详解
- 解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误
- 通过 Redis 实现 RPC 远程方法调用(支持多种编程语言)
- 浅谈DOCTYPE对$(window).height()取值的影响
- 一个最简单的级联下拉菜单
- 深入理解ES6的迭代器与生成器
- node.js中的querystring.stringify方法使用说明
- JVM角度调试优化MyEclipse
- VBS教程:函数-Int、Fix 函数
- Debian 7 和 Debian 8 用户安装 Java 8的方法
- 浅谈java8中map的新方法--replace
- 自己做采集程序
- 96酷论坛为您提供50M免费ASP空间服务
- VUE2 前端实现 静态二级省市联动选择select的示例
- spring mvc DispatcherServlet之前端控制器架构详解
