C#获取本机IP且过滤非真实网卡(如虚拟机网卡)
参考了网上的文章,具体地址不记得了。
下面的方法可以过滤掉虚拟机的网卡等无效网卡,进而只留下真实的网卡。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management; namespace _15获取本机IP_过滤非真实网卡_
{
class Program
{
static void Main(string[] args)
{
List<string> listIP = new List<string>();
ManagementClass mcNetworkAdapterConfig = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc_NetworkAdapterConfig = mcNetworkAdapterConfig.GetInstances();
foreach (ManagementObject mo in moc_NetworkAdapterConfig)
{
string mServiceName = mo["ServiceName"] as string; //过滤非真实的网卡
if (!(bool)mo["IPEnabled"])
{ continue; }
if (mServiceName.ToLower().Contains("vmnetadapter")
|| mServiceName.ToLower().Contains("ppoe")
|| mServiceName.ToLower().Contains("bthpan")
|| mServiceName.ToLower().Contains("tapvpn")
|| mServiceName.ToLower().Contains("ndisip")
|| mServiceName.ToLower().Contains("sinforvnic"))
{ continue; } //bool mDHCPEnabled = (bool)mo["IPEnabled"];//是否开启了DHCP
//string mCaption = mo["Caption"] as string;
//string mMACAddress = mo["MACAddress"] as string;
string[] mIPAddress = mo["IPAddress"] as string[];
//string[] mIPSubnet = mo["IPSubnet"] as string[];
//string[] mDefaultIPGateway = mo["DefaultIPGateway"] as string[];
//string[] mDNSServerSearchOrder = mo["DNSServerSearchOrder"] as string[]; //Console.WriteLine(mDHCPEnabled);
//Console.WriteLine(mCaption);
//Console.WriteLine(mMACAddress);
//PrintArray(mIPAddress);
//PrintArray(mIPSubnet);
//PrintArray(mDefaultIPGateway);
//PrintArray(mDNSServerSearchOrder); if (mIPAddress != null)
{ foreach (string ip in mIPAddress)
{
if (ip != "0.0.0.0")
{
listIP.Add(ip);
}
}
}
mo.Dispose();
} PrintList(listIP); Console.WriteLine("-- -- The End -- --"); Console.ReadKey();
} static void PrintList<T>(List<T> list)
{
foreach(T item in list)
{
Console.WriteLine(item);
}
} static void PrintArray<T>(T[] list)
{
foreach (T item in list)
{
Console.WriteLine(item);
}
Console.WriteLine();
}
}
}
C#获取本机IP且过滤非真实网卡(如虚拟机网卡)的更多相关文章
- java获取本机IP地址,非127.0.0.1
综合了网上找的代码,整理的,Windows和Linux都可以用. private static String getHostIp(){ try{ Enumeration<NetworkInter ...
- java获取本机ip(排除虚拟机等一些ip)最终解,总算找到方法了
本文参考https://blog.csdn.net/u011809209/article/details/77236602 本文参考https://blog.csdn.net/yinshuomail/ ...
- 获取本机IP和主机名
如果是在windows环境: 使用InetAddress.getLocalHost()方法即可 package com.datongsoft.wg.common.util; import java.n ...
- 获取本机IP地址
这里有两种方法: //获取本机IP - (NSString *)localIPAddress { NSString *localIP = nil; struct ifaddrs *addrs; ) { ...
- python未知网卡名情况下获取本机IP
import socket def get_ip(): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: # doesn't even ...
- 关于是用dotnet获取本机IP地址+计算机名的方法
印象中在maxscript帮助文档里找到过方法,但是当时没记下来.只能通过dotnet实现了. 如果电脑有无线网卡和本地连接,可能会出现乱码,也问了写dotnet的朋友,提供了一些思路,不过最终还是使 ...
- Windows下获取本机IP地址方法介绍
Windows下获取本机IP地址方法介绍 if((hostinfo = gethostbyname(name)) != NULL) { #if 1 ; printf("IP COUNT: % ...
- python学习之最简单的获取本机ip信息的小程序
文章是从我的个人博客粘贴过来的,大家可以直接访问我的个人博客哦 http://www.iwangzheng.com 获取本机ip信息的命令ifconfig总是在用,这次拿到pyhton代码里,感觉py ...
- java获取本机IP地址
转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...
随机推荐
- [转] 国外程序员整理的 C++ 资源大全
关于 C++ 框架.库和资源的一些汇总列表,由 fffaraz 发起和维护. 内容包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++标准库,包括了S ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
一.背景说明 在之前的篇章中,提到在webvirtmgr里安装linux系统的vm,下面说下安装windows系统虚拟机的操作记录: 由于KVM管理虚拟机的硬盘和网卡需要virtio驱动,linux ...
- Chrome 开发工具 Javascript 调试技巧
http://www.w3cplus.com/tools/dev-tips.html 一.Sources 面板介绍: Sources 面板分为左中右 3 部分左:Sources 当前页面加载的资源列表 ...
- 利用concat进行数组复制
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Eclipse添加注释简介
(1)在方法或者属性上面添加注释:在方法或者属性字段的上面一行输/**,然后回车.一般情况下添加的注释格式如下所示,当然注释的格式是可以修改的: 1 2 3 4 5 /** * @param ...
- 一些正则验证-JS
Validation = { textCount: function(field, counter, maxLimit) { var message = $(field).val(); if ($(f ...
- [CareerCup] 12.1 Find Mistakes 找程序错误
12.1 Find the mistake(s) in the following code: unsigned int i; ; i >= ; --i) printf("%d\n&q ...
- 对于AP中为什么有4个WEP KEY的分析
这篇文章简要分析一下为什么有4个WEP KEY,及其中的一些原因. SPEC 用过AP的都知道,AP中有4个WEP KEY,但是为什么要设置4个呢,这个是WEP帧的格式决定的: 图中的keyid是2个 ...
- 使用yuicompressor-maven-plugin压缩js及css文件
本文介绍通过使用yuicompressor-maven-plugin插件实现js及css代码的自动压缩,方便集成到持续集成环境中,如jenkins. 一.配置yuicompressor-maven-p ...
- 你的C#代码是怎么跑起来的(一)
写了那么多C#代码,大家有没有想过自己写的代码编译后的可执行文件内部是什么样子,是怎样在系统上运行的? 编译成exe,然后双击exe文件运行,这中间到底发生了些什么呢,这篇先来剖析下exe内部的样子: ...