2012-03-28 2 views
12

내 웹 사이트가 실행되는 클라이언트 PC의 Mac 주소를 얻어야합니다. 그래서 클라이언트 컴퓨터의 Mac 주소를 얻는 방법 (웹 사이트가 호스팅되는 서버의 Mac 주소가 아닌). IE, Firefox, Safari 및 Chrome과 호환되는 스크립트가 필요합니다.웹 응용 프로그램에서 Client Machine의 Mac 주소를 얻는 방법

+0

왜 MAC 주소를 원하십니까? – Ramesh

+0

일부 고정 PC (일부 사용자는 관리자가 입력 한 MAC 주소가 사용자가 로그인하려고 시도한 시스템과 일치 함)에서 허용되는 시나리오가 있는데, 그 사용자는 다른 PC에서 로그인 할 수 없습니다. –

+0

자바 주소로 MAC 주소를 가져 오려고했습니다. 그러나 그것은 IE에서만 가능하며 다른 브라우저에서는 불가능합니다. –

답변

8

이를 달성하는 유일한 방법은 Java에서 프로그래밍 할 수있는 애플릿 또는 플러그인을 사용하는 것입니다 (Java 자체는 Getting MAC address on a web page using a Java applet에 따라 허용하지 않을 수도 있음). 자바 스크립트는 자연스럽게 이러한 종류의 정보를 공개하지 않습니다. 마지막으로 세미 - 개인 wifi 네트워크 랜딩 페이지로 수행되는 것처럼 내부 네트워크에있는 경우 서버 측에서이 정보를 찾을 수도 있습니다.

아래의 설명을 바탕으로 : 내부 네트워크이므로 asp.net 측에서 다음과 같이 mac 주소를 검색 할 수 있습니다. 다음의 명령어 arp -a을 실행하면 관련된 mac 주소를 가진 모든 ip 주소의 목록이 반환됩니다.

Request.Servervariables("REMOTE_ADDR") 

의 라인을 따라 뭔가를 사용하여 다음으로 당신이 옆 arp 명령 및 짜잔에서 검색 데이터와 일치 할 수있는 사용자의 IP 주소를 찾을 수 있어야합니다, 당신은 현재 사용자에 대한 MAC 주소를 가지고 .

+0

안녕 데이빗, 답장을 보내 주셔서 감사합니다. 동일한 시나리오에서 MAC 주소 대신 IP 주소를 얻는 방법. IP 구성은 DHCP (동적 IP)입니다.? –

+0

이것이 내부 네트워크에 있음을 올바르게 알고 있습니까? (당신이 가진 몇 가지 옵션이 있기 때문에) –

+0

네 내부 네트워크에 –

2

같은 소리는 내부 네트워크입니다.

또 다른 방법은 mac 주소를 사용하여 dhcp 서버가 특정 IP 범위를 할당 할 수 있다는 것입니다. 그런 다음 서버 코드에서 해당 IP 범위를 확인할 수 있습니다. javascript에서 mac 주소를 얻는 방법은 없지만 쉽게 ip를 얻을 수 있습니다. 또한 아마도 귀하의 DHCP 서버는 귀하의 웹 서버에 대한 IP 주소 테이블을 MAC 주소로 게시하여 API 또는 뭔가를 통해 사용할 수 있습니다. - 확실하지는 않지만 조사 할 가치가있을 수 있습니다.

+0

좋은 답변과 회신 주셔서 감사합니다. –

7

내가 로그인에, 그/그녀가 의지 할 수없는 (관리자에 의해 입력 된 MAC 주소가 사용자가 로그인을 시도 곳에서 시스템과 일치 에 대한) 어떤 사용자가 어떤 고정 된 PC에서 사용할 수 있습니다 시나리오가 from other 해당 PC보다

위의 방법을 올바르게 수행하려면 클라이언트 인증서를 사용하여 인증을 수행해야합니다. 유효한 클라이언트 인증서가 제공되지 않으면 요청이 거부됩니다.

당신은 사용자가 내부 네트워크에있는 경우 http://support.microsoft.com/kb/315588

@ 클라이언트 인증서를 사용하여 웹 사이트 보안에 대한 자세한 정보를 찾을 수 있습니다

이 선호하는 방법은 그들이 http://support.microsoft.com/kb/323176 설명 및 권한 부여를 기반으로하는 바와 같이 통합 Windows 인증을 사용하고 인증하기 액세스 제어 목록

+0

안녕하세요 Ramesh .... 좋은 답변으로 회신 해 주셔서 감사합니다. 위의 기술을 사용하여 클라이언트가 웹 사이트에 액세스 할 수있는 각 PC에 클라이언트 인증서를 설치해야합니다. –

+0

예. 액세스해야하는 클라이언트 인증서를 설치해야합니다. 이것은 내일 네트워크 하드웨어가 변경 되더라도 도움이 될 것입니다. 내부 네트워크 인 경우 통합 인증을 살펴보십시오. – Ramesh

+0

클라이언트 인증서는 내부 인증을 위해 매우 좋은 생각이지만, 더 많은 보안을 확보해야하는 경우에도 마찬가지입니다. 특정 한 명의 사용자가 클라이언트 인증서가 설치된 모든 PC가 아닌 특정 2-3 대의 PC에 액세스 할 수 있습니다. 또한 첫 번째 사용자가 사용하고 클라이언트 인증서가 설치되어있는 PC에 로그인 할 수없는 다른 사용자도 있습니다. –

관련 문제