zoukankan      html  css  js  c++  java
  • 获取系统所有服务

    这是一个获取系统所有服务的程序

    核心代码:


    using System;
    using System.Collections.Generic;
    using System.Data.Sql;
    using System.Net;
    using System.Net.NetworkInformation;

    namespace AllSqlServer
    {
        
    class Program
        {
            
    static void Main(string[] args)
            {
                 ShowNetworkInterfaces();

                Console.ReadLine();
            }

            
    public static void ShowNetworkInterfaces()
            {
                IPGlobalProperties computerProperties 
    = IPGlobalProperties.GetIPGlobalProperties();
                NetworkInterface[] nics 
    = NetworkInterface.GetAllNetworkInterfaces();
                Console.WriteLine(
    "Interface information for {0}.{1}     ",
                        computerProperties.HostName, computerProperties.DomainName);
                
    if (nics == null || nics.Length < 1)
                {
                    Console.WriteLine(
    "  No network interfaces found.");
                    
    return;
                }

                Console.WriteLine(
    "  Number of interfaces .. : {0}", nics.Length);
                
    foreach (NetworkInterface adapter in nics)
                {
                    IPInterfaceProperties properties 
    = adapter.GetIPProperties();
                    Console.WriteLine();
                    Console.WriteLine(adapter.Description);
                    Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, 
    '='));
                    Console.WriteLine(
    "  网络类型 .. : {0}", adapter.NetworkInterfaceType);
                    Console.WriteLine(
    "  MAC地址  : {0}",
                               adapter.GetPhysicalAddress().ToString());
                    Console.WriteLine(
    "  Operational status . : {0}",
                        adapter.OperationalStatus);
                    
    string versions = "";

                    
    if (adapter.Supports(NetworkInterfaceComponent.IPv4))
                    {
                        versions 
    = "IPv4";
                    }
                    
    if (adapter.Supports(NetworkInterfaceComponent.IPv6))
                    {
                        
    if (versions.Length > 0)
                        {
                            versions 
    += " ";
                        }
                        versions 
    += "IPv6";
                    }
                    Console.WriteLine(
    "  IP version  : {0}", versions);
                    ShowIPAddresses(properties);

                    
    if (adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback)
                    {
                        
    continue;
                    }
                    Console.WriteLine(
    "  DNS suffix  : {0}",
                        properties.DnsSuffix);

                    
    string label;
                    
    if (adapter.Supports(NetworkInterfaceComponent.IPv4))
                    {
                        IPv4InterfaceProperties ipv4 
    = properties.GetIPv4Properties();
                        Console.WriteLine(
    "  MTU.. : {0}", ipv4.Mtu);
                        
    if (ipv4.UsesWins)
                        {

                            IPAddressCollection winsServers 
    = properties.WinsServersAddresses;
                            
    if (winsServers.Count > 0)
                            {
                                label 
    = "  WINS Servers . :";
                                ShowIPAddresses(label, winsServers);
                            }
                        }
                    }

                    Console.WriteLine(
    "是否被配置为向域名系统 (DNS) 服务器发送名称解析查询:.. : {0}",
                        properties.IsDnsEnabled);
                    Console.WriteLine(
    "是否被配置为自动向域名系统 (DNS) 注册其 IP 地址信息: .. : {0}",
                        properties.IsDynamicDnsEnabled);
                    Console.WriteLine(
    "  Receive Only . : {0}",
                        adapter.IsReceiveOnly);
                    Console.WriteLine(
    "  Multicast . : {0}",
                        adapter.SupportsMulticast);

                    Console.WriteLine();
                }
            }


            
    private static void ShowIPAddresses(IPInterfaceProperties properties)
            {
                Console.WriteLine(
    "Dhcp服务器地址:");
                ShowIPAddressCollection(properties.DhcpServerAddresses);
                Console.WriteLine(
    "DNS服务器 :");
                ShowIPAddressCollection(properties.DnsAddresses);
                Console.WriteLine(
    "网关 :");
                ShowGatewayIPAddressInformationCollection(properties.GatewayAddresses);
                Console.WriteLine(
    "是否被配置为向域名系统 (DNS) 服务器发送名称解析查询:" + properties.IsDnsEnabled.ToString());
                Console.WriteLine(
    "是否被配置为自动向域名系统 (DNS) 注册其 IP 地址信息:" + properties.IsDynamicDnsEnabled.ToString());
                Console.WriteLine(
    "分配给此接口的多路广播地址:");
                ShowMulticastIPAddressInformationCollection(properties.MulticastAddresses);
                Console.WriteLine(
    "Windows Internet 名称服务 (WINS) 服务器的地址:");
                ShowIPAddressCollection(properties.WinsServersAddresses);
            }

            
    private static void ShowIPAddresses(string label,IPAddressCollection winsServers)
            {
                Console.WriteLine(
    "-----"+label+"-----");
                ShowIPAddressCollection(winsServers);
            }

            
    private static void ShowIPAddressInformationCollection(IPAddressInformationCollection collection)
            {
                
    for (int i = 0; i < collection.Count; i++)
                {
                    Console.WriteLine(GetIPAddressInfo(collection[i].Address));
                }
            }

            
    private static void ShowIPAddressCollection(IPAddressCollection collection)
            {
                
    for (int i = 0; i < collection.Count; i++)
                {
                    Console.WriteLine(GetIPAddressInfo(collection[i]));
                }
            }

            
    private static void ShowMulticastIPAddressInformationCollection(MulticastIPAddressInformationCollection collection)
            {
                
    for (int i = 0; i < collection.Count; i++)
                {
                    Console.WriteLine(GetIPAddressInfo(collection[i].Address));
                }
            }

            
    private static string GetIPAddressInfo(IPAddress address)
            {
                
    byte[] bytes = address.GetAddressBytes();
                
    string ipString = null;
                
    for(int i=0;i<bytes.Length-1;i++)
                {
                    ipString 
    += bytes[i] + ".";
                }
                
    return ipString + bytes[bytes.Length - 1];
            }

            
    private static void ShowGatewayIPAddressInformationCollection(GatewayIPAddressInformationCollection collection)
            {
                
    for (int i = 0; i < collection.Count; i++)
                {
                    Console.WriteLine(GetIPAddressInfo(collection[i].Address));
                }
            }
        }
    }

    在我本机的执行结果如下:
    Interface information for zhoufoxcn.sooyie
      Number of interfaces .................... : 2

    NVIDIA nForce Networking Controller
    ===================================
      网络类型 .......................... : Ethernet
      MAC地址 ........................ : 003018ADB71C
      Operational status ...................... : Up
      IP version .............................. : IPv4
    Dhcp服务器地址:
    255.255.255.255
    DNS服务器 :
    192.168.3.3
    202.99.192.66
    网关 :
    192.168.3.1
    是否被配置为向域名系统 (DNS) 服务器发送名称解析查询:False
    是否被配置为自动向域名系统 (DNS) 注册其 IP 地址信息:True
    分配给此接口的多路广播地址:
    224.0.0.1
    Windows Internet 名称服务 (WINS) 服务器的地址:
    0.0.0.0
    0.0.0.0
      DNS suffix .............................. :
      MTU...................................... : 1500
    是否被配置为向域名系统 (DNS) 服务器发送名称解析查询:...........................
    .. : False
    是否被配置为自动向域名系统 (DNS) 注册其 IP 地址信息: .............. : True
      Receive Only ............................ : False
      Multicast ............................... : True


    MS TCP Loopback interface
    =========================
      网络类型 .......................... : Loopback
      MAC地址 ........................ :
      Operational status ...................... : Up
      IP version .............................. : IPv4
    Dhcp服务器地址:
    DNS服务器 :
    网关 :
    是否被配置为向域名系统 (DNS) 服务器发送名称解析查询:False
    是否被配置为自动向域名系统 (DNS) 注册其 IP 地址信息:True
    分配给此接口的多路广播地址:
    224.0.0.1
    Windows Internet 名称服务 (WINS) 服务器的地址:

  • 相关阅读:
    English trip V1
    English trip V1
    第一类斯特林数
    bzoj 3601 一个人的数论
    bzoj 4407 于神之怒加强版
    bzoj 2693 jzptab
    bzoj 4184 shallot
    luogu P3920 [WC2014]紫荆花之恋
    bzoj 4269 再见Xor
    luogu P2183 [国家集训队]礼物
  • 原文地址:https://www.cnblogs.com/tonybinlj/p/1328806.html
Copyright © 2011-2022 走看看