溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用C# 實現操作網絡適配器的示例

發布時間:2020-10-29 15:15:41 來源:億速云 閱讀:614 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關使用C# 實現操作網絡適配器的示例,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1、對網絡適配器進行配置

string ethernetIP = System.Configuration.ConfigurationManager.AppSettings["LocalEthernetIP"].Trim().ToString();
string ethernetSubnetMask = System.Configuration.ConfigurationManager.AppSettings["LocalEthernetSubnetMask"].Trim().ToString();
string ethernetGateway = System.Configuration.ConfigurationManager.AppSettings["LocalEthernetGateway"].Trim().ToString();
string ethernetDNS = System.Configuration.ConfigurationManager.AppSettings["LocalEthernetDNS"].Trim().ToString();

ManagementBaseObject outPar = null;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();

foreach (ManagementObject mo in moc)
{
  if (!(bool)mo["IPEnabled"])
  {
    continue;
  }
  //設置IP地址
  ManagementBaseObject inPar = mo.GetMethodParameters("EnableStatic");
  if (!string.IsNullOrEmpty(ethernetIP))
  {
    inPar["IPAddress"] = new string[] { ethernetIP };
  }
  if (!string.IsNullOrEmpty(ethernetSubnetMask))
  {
    inPar["SubnetMask"] = new string[] { ethernetSubnetMask };
  }
  outPar = mo.InvokeMethod("EnableStatic", inPar, null);
  //設置網關
  inPar = mo.GetMethodParameters("SetGateways");
  if (!string.IsNullOrEmpty(ethernetGateway))
  {
    inPar["DefaultIPGateway"] = new string[] { ethernetGateway };
    outPar = mo.InvokeMethod("SetGateways", inPar, null);
  }
  //設置DNS
  inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
  if (!string.IsNullOrEmpty(ethernetDNS))
  {
    inPar["DNSServerSearchOrder"] = new string[] { ethernetDNS };
    outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);
  }
  break;
}

2、獲取網絡適配器等相關信息

//獲取說有網卡信息
 NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
 foreach (NetworkInterface adapter in nics)
 {
   //判斷是否為以太網卡
   //Wireless80211     無線網卡  Ppp   寬帶連接
   //Ethernet       以太網卡  
   //這里篇幅有限貼幾個常用的,其他的返回值大家就自己百度吧!
   if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
   {
     //獲取以太網卡網絡接口信息
     IPInterfaceProperties ip = adapter.GetIPProperties();
     //獲取單播地址集
     UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses;
     foreach (UnicastIPAddressInformation ipadd in ipCollection)
     {
       //InterNetwork  IPV4地址   InterNetworkV6    IPV6地址
       //Max      MAX 位址
       if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork)
         //判斷是否為ipv4
         label1.Text = ipadd.Address.ToString();//獲取ip
     }
   }
 }
NetworkInterfaceType的返回值如下(以下表格來自msdn):
   成員名        說明
  Unknown   接口類型是未知的。
  Ethernet   網絡接口使用以太網連接。 以太網在 IEEE 標準 802.3 中定義。
  TokenRing   網絡接口使用令牌環連接。 令牌環在 IEEE 標準 802.5 中定義。
  Fddi   網絡接口使用分布式光纖數據接口 (FDDI) 連接。 FDDI 是一組用于局域網中光纖線路上的數據傳輸的標準。
  BasicIsdn   網絡接口使用基本速率接口綜合業務數字網 (ISDN) 連接。 ISDN 是一組通過電話線傳輸數據的標準。
  PrimaryIsdn   網絡接口使用主速率接口綜合業務數字網 (ISDN) 連接。 ISDN 是一組通過電話線傳輸數據的標準。
  Ppp   網絡接口使用點對點協議 (PPP) 連接。 PPP 是使用串行設備進行數據傳輸的協議。
  Loopback   網絡接口是環回適配器。 此類接口通常用于測試;不通過電纜發送流量。
  Ethernet3Megabit   網絡接口使用以太網 3 兆位/秒連接。 以太網的此版本在 IETF RFC 895 中定義。
  Slip   網絡接口使用串行線路 Internet 協議 (SLIP) 連接。 SLIP 在 IETF RFC 1055 中定義。
  Atm   網絡接口使用異步傳輸模式 (ATM) 傳輸數據。
  GenericModem   網絡接口使用調制解調器。
  FastEthernetT   網絡接口使用基于雙絞線的 Fast Ethernet 連接,其數據速率為 100 兆位/秒。 此連接類型也稱為 100Base-T。
  Isdn   網絡接口使用為 ISDN 和 X.25 協議配置的連接。 X.25 允許公用網絡上的計算機使用中間計算機通信。
  FastEthernetFx   網絡接口使用基于光纖的 Fast Ethernet 連接,其數據速率為 100 兆位/秒。 此連接類型也稱為 100Base-FX。
  Wireless80211   網絡接口使用無線 LAN 連接(IEEE 802.11 標準)。
  AsymmetricDsl   網絡接口使用非對稱數字用戶線路 (ADSL)。
  RateAdaptDsl   網絡接口使用速率自適應數字用戶線路 (RADSL)。
  SymmetricDsl   網絡接口使用對稱數字用戶線路 (SDSL)。
  VeryHighSpeedDsl   網絡接口使用超高數據速率數字用戶線路 (VDSL)。
  IPOverAtm   網絡接口使用 Internet 協議 (IP) 與異步傳輸模式 (ATM) 相結合來傳輸數據。
  GigabitEthernet   網絡接口使用 Gigabit Ethernet 連接,其數據速率為 1,000 兆位/秒(1 吉比特/秒)。
  Tunnel   網絡接口使用隧道連接。
  MultiRateSymmetricDsl   網絡接口使用多速率數字用戶線路。
  HighPerformanceSerialBus   網絡接口使用高性能串行總線。

AddressFamily的返回值如下(以下表格來自msdn):

  成員名稱       說明
  AppleTalk     AppleTalk 地址。
  Atm         本機 ATM 服務地址。
  Banyan      Banyan 地址。
  Ccitt       CCITT 協議(如 X.25)的地址。
  Chaos       MIT CHAOS 協議的地址。
  Cluster      Microsoft 群集產品的地址。
  DataKit      Datakit 協議的地址。
  DataLink     直接數據鏈接接口地址。
  DecNet      DECnet 地址。
  Ecma       歐洲計算機制造商協會 (ECMA) 地址。
  FireFox     FireFox 地址。
  HyperChannel  NSC Hyperchannel 地址。
  Ieee12844    IEEE 1284.4 工作組地址。
  ImpLink     ARPANET IMP 地址。
  InterNetwork  IP 版本 4 的地址。
  InterNetworkV6 IP 版本 6 的地址。
  Ipx        IPX 或 SPX 地址。
  Irda       IrDA 地址。
  Iso        ISO 協議的地址。
  Lat       LAT 地址。
  Max        MAX 地址。
  NetBios      NetBios 地址。
  NetworkDesigners支持網絡設計器 OSI 網關的協議的地址。
  NS       Xerox NS 協議的地址。
  Osi       OSI 協議的地址。
  Pup       PUP 協議的地址。
  Sna       IBM SNA 地址。
  Unix      Unix 本地到主機地址。
  Unknown     未知的地址族。
  Unspecified   未指定的地址族。
  VoiceView    VoiceView 地址。

看完上述內容,你們對使用C# 實現操作網絡適配器的示例有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女