반응형
C# 현재 연결되어 있는 IP주소와 MAC주소 가져오기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Net;
using System.Management;
// http://www.maniuk.net/2016/08/get-ip-address-by-mac-address-in-csharp.html //
namespace TestUSB_Ver2
{
class Netinfo // IP주소와 MAC주소 가져오기
{
public void main(object Main_Net_inter) //메인 호출
{
DataGridView Net_inter = Main_Net_inter as DataGridView;
Net_inter.Rows.Clear();
IPHostEntry GetIP= Dns.GetHostEntry(Dns.GetHostName());
string ipAddr = string.Empty;
int Net_index = 1;
for(int i = 0; i < GetIP.AddressList.Length; i++)
{
if(GetIP.AddressList[i].AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) // IPv4에 해당하면 출력
{
ipAddr = GetIP.AddressList[i].ToString(); // IPv4에 해당되는 IP
Netinfo Mac = new Netinfo(); // 해당 IP에 대응되는 MAC 가져오기
Net_inter.Rows.Add(Net_index, ipAddr, Mac.GetMac(ipAddr)); // DataGridView 출력
Net_index++;
}
}
}
public string GetMac(string ip) // MAC가져오는 메소드
{
string rtn = string.Empty;
ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'");
ManagementObjectSearcher query1 = new ManagementObjectSearcher(oq);
foreach (ManagementObject mo in query1.Get())
{
string[] address = (string[])mo["IPAddress"];
if (address[0] == ip && mo["MACAddress"] != null)
{
rtn = mo["MACAddress"].ToString();
break;
}
}
return rtn;
}
}
Window forms에서 DataGridView로 IP주소와 그에 맞는 MAC주소를 가져온다.
소스 : http://jmoon.co.kr/106 / jmoon1601.tistory.com/106
반응형
'Develop > C#' 카테고리의 다른 글
| 소스 (0) | 2017.05.06 |
|---|---|
| C# USB Serial number, Pnp number, Description 정보 출력 (0) | 2017.05.06 |
| C# White List로 Mac기반으로 Network adapter 차단, 인터넷 연결 끊기 (0) | 2017.05.06 |
| C# window forms .dll 생성 및 참조 후 .dll파일 디버깅하는 방법 (0) | 2017.05.06 |
| C# Datagridview 여러가지 정렬 방법 (0) | 2017.05.06 |




최근댓글