PC에 이더넷 어댑터가 여러개 설치되어 있거나, Virtual Box 와 같은 Virtual Marchine 이 설치되어 있다면,
IP주소 / 맥어드레스를 구하는 다른 소스로는 엉뚱한 IP/Mac 주소를 반환하는 경우가 있다.
정확한 사용 주소를 가져오는 C# 코드는 아래와 같다.
IP주소
string ipAddress = ""; using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, 0)) { socket.Connect("8.8.8.8", 65530); IPEndPoint endPoint = socket.LocalEndPoint as IPEndPoint; ipAddress = endPoint.Address.ToString(); } |
맥어드레스
string macAddress = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); using (ManagementObjectCollection moc = mc.GetInstances()) { foreach (ManagementObject mo in moc) { if (mo["MacAddress"] != null) { if ((bool)mo["IPEnabled"] == true) { macAddress = mo["MacAddress"].ToString(); break; } mo.Dispose(); } } } |
'개발팁' 카테고리의 다른 글
API 를 이용한 LINE 메신저 메세지 전송하기 (5) | 2022.10.28 |
---|---|
C# 한글 타자게임 만들기 (3) | 2022.07.27 |
mysql / mariadb 슬로우쿼리(slowquery) 탐지하기 (0) | 2022.03.29 |
ASP.NET API 에 swagger 사용방법 (0) | 2022.03.22 |
Jenkins Rest API 를 통한, 빌드결과 알림 보내는 방법 (0) | 2022.03.21 |