IPAddress、IPHostEntry、IPEndPoint、DNS

作者:追风剑情 发布于:2019-11-12 20:43 分类:C#

示例:

  1. using System;
  2. using System.Net;
  3. using System.Net.NetworkInformation;
  4. using System.Text;
  5.  
  6. namespace ConsoleApp6
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. //DNS: 域名系统
  13. //HostName: 主机DNS名称
  14. //AddressList: IP地址列表
  15. //Aliases: 与主机关联的别名列表
  16.  
  17. //IPAddress类提供了主机IP地址及相关信息,包括IP圆环地址Loopback、
  18. //IP广播地址Broadcast以及对IPv6协议的支持。
  19.  
  20. //IPHostEntry类将域名系统(DNS)主机名和别名与匹配的IP地址关联
  21. //IPEndPoint类将网络端点表示为IP地址和端口号
  22. //DNS是一个静态类,提供一系列静态方法来获取本地或远程域名
  23.  
  24. //获取指定DNS主机名的主机信息
  25. IPHostEntry ipHost = Dns.GetHostByName("www.baidu.com");
  26. Console.WriteLine("www.baidu.com的主机名为: " + ipHost.HostName);
  27. //通过IP地址获取主机名
  28. IPHostEntry ipHost1 = Dns.GetHostByAddress("127.0.0.1");
  29. Console.WriteLine("127.0.0.1的主机名为: "+ipHost1.HostName);
  30. foreach (string aliase in ipHost1.Aliases)
  31. Console.WriteLine("别名: "+ aliase);
  32. //主机名或IP地址解析为IPHostEntry
  33. IPHostEntry ipHost2 = Dns.Resolve(ipHost1.HostName);
  34. //获取本地系统的主机名
  35. string hostName = Dns.GetHostName();
  36. //获得本机局域网所有IP地址
  37. IPAddress[] addr = Dns.GetHostByName(hostName).AddressList;
  38. foreach (IPAddress ip in addr)
  39. Console.WriteLine("本机IP地址为: " + ip.ToString());
  40. //获得本机主机名
  41. Console.WriteLine("本机主机名为: "+Dns.GetHostEntry(addr[0]).HostName);
  42. //创建本机端口
  43. IPAddress localIp = IPAddress.Parse("127.0.0.1");
  44. //IPEndPoint用来封装IP和端口
  45. IPEndPoint iep = new IPEndPoint(localIp, 80);
  46.  
  47. Console.WriteLine("IP端点:"+iep.ToString());
  48. Console.WriteLine("IP端口:"+iep.Port);
  49. //地址族指底层通信方式
  50. Console.WriteLine("IP地址族:"+iep.AddressFamily);
  51. Console.WriteLine("可分配端口最大值: "+IPEndPoint.MaxPort);
  52. Console.WriteLine("可分配端口最小值: "+IPEndPoint.MinPort);
  53.  
  54. Console.ReadLine();
  55. }
  56. }
  57. }


运行测试
111.png

IPAddress类的常用公共方法
方 法 说 明
Equals 比较两个IP地址
GetAddressBytes 以字节数组形式提供IPAddress的副本
HostToNetworkOrder 将数字由主机字节顺序转换为网络字节顺序。网络字节序默认是大端(即第一个字节是最高位,最后一个字节是最低位),Windows系统是小端
NetworkToHostOrder 将数字由网络字节顺序转换为主机字节顺序
IsLoopBack 指示指定的IP地址是否是返回地址,例如127.0.0.1
Parse 将标准表示法的IP字符串转成IPAddress实例
TryParse 确定字符串是否为有效的IP地址

标签: C#

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号