반응형
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 |
최근댓글