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地址和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获取城市等相关信息
复制代码 代码如下: /// <summary> /// 得到真实IP以及所在地详细信息(Porschev) /// </summary> /// <returns></returns> public string GetIpDetails() { //设置获取IP地址和国家源码的网址 string url = "http://www.ip138.com/ips8.asp"; string regStr = "(?<=&l
-
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,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地址(IP转为长整形、判断是否内网IP的方法)
今天查看登录日志,发现http_x_forwarded_for获取到的ip地址有些是内网ip地址,有些则是公网和内网ip地址一起获取到,用逗号分隔开,日志截图如下: 之前获取ip地址的C#代码如下: 复制代码 代码如下: /// <summary> /// C#获取客户端真实IP地址 /// </summary> /// <returns></returns> public static string GetIP()
-
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");}
-
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
随机推荐
- 笔记本开机原理分析
- 浅谈java的byte数组的不同写法
- ASP.net做的IP访问限制
- bootstrap日期插件daterangepicker使用详解
- Javascript 事件捕获的备忘(setCapture,captureEvents)
- jQuery生成asp.net服务器控件的代码
- 一篇有意思的技术文章php介绍篇
- 找到MySQL的优点
- 深入Android线程的相关问题解惑
- php使用imagick模块实现图片缩放、裁剪、压缩示例
- 浅析51个PHP处理字符串的函数
- 用滑动门技术设计按钮的图文教程
- Mac系统下源码编译安装MySQL 5.7.17的教程
- 用jquery实现下拉菜单效果的代码
- jquery uploadify 在FF下无效的解决办法
- .htaccess 顶级域名重定向绑定空间目录
- windows环境下php配置memcache的具体操作步骤
- python snownlp情感分析简易demo(分享)
- 一个Activity中多个Fragment实现沉浸式状态栏的解决方法
- 用XMLHTTP很好的一个例子