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地址格式示例
判断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转为长整形、判断是否内网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信息,如下为源代码: 复制代码 代码如下: 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获取城市等相关信息
复制代码 代码如下: /// <summary> /// 得到真实IP以及所在地详细信息(Porschev) /// </summary> /// <returns></returns> public string GetIpDetails() { //设置获取IP地址和国家源码的网址 string url = "http://www.ip138.com/ips8.asp"; string regStr = "(?<=&l
-
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地址的代码
复制代码 代码如下: 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的方法
如果要想获得远程的地址,需要用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是否在区间
话不多说,请看代码: /// <summary> /// 获取客户端IP /// </summary> /// <returns></returns> public static string GetClientIpAddress() { var httpContext = HttpContext.Current; if (httpContext.Request.ServerVariables == null) { return null; } var cl
-
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地址/// </summary>/// <returns></returns>private string GetLocalIPAddress(){ System.Net.IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList; string strNativeIP = &quo
随机推荐
- javascript框架设计读书笔记之种子模块
- 新闻列表的分页查询java代码实现
- iOS用两行代码完美解决数据持久化
- js代码延迟一定时间后执行一个函数的实例
- javascript中SetInterval与setTimeout的定时器用法
- Bootstrap3多级下拉菜单
- jquery ajax应用中iframe自适应高度问题解决方法
- .NET C#使用微信公众号登录网站
- Blitz templates 最快的PHP模板引擎
- 在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
- phpStudy中升级MySQL版本到5.7.17的方法步骤
- 详解Python多线程Selenium跨浏览器测试
- vc获取计算机名和ip地址的方法
- Android实现修改状态栏背景、字体和图标颜色的方法
- 详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
- Egret引擎开发指南之创建项目
- Python 模拟登陆的两种实现方法
- SQLServer数据库的各种管理方法
- 通过IP安全策略 WIN2003禁止PING
- MyBatis+MySQL 返回插入的主键ID的方法