ASP.NET WebApp에서 방문자 PC의 MAC 주소를 얻는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1356962

  •  20-09-2019
  •  | 
  •  

문제

ASP.NET (C#) WebApp에서 방문자 PC의 IP를 쉽게 얻을 수 있지만 ASP.NET WebApp에서 방문자 PC의 MAC 주소를 얻는 방법은 무엇입니까?

그리고이 ASP.NET 앱은 우리 회사의 내부 인트라넷에서 운영되고 있으며 방문자는 회사와 동일한 내부 인트라넷에 있습니다.

도움이 되었습니까?

해결책

MAC 주소는의 일부가 아닙니다 IP 헤더 (또는 그 이상의 다른 프로토콜)이므로 HTTP 트래픽이라면 사용할 수 없습니다.

편집 (OP의 업데이트 후) : 클라이언트와 서버가 동일한 내부 네트워크에 있으므로 MAC 주소 대신 IP 주소에서 호스트 이름을 얻는 것이 좋지 않습니까? IP 주소를 기반으로 호스트 이름을 쉽게 찾을 수 있습니다.

다른 팁

즉시 떠오르는 대답은 클라이언트 브라우저에서 실행되는 ActiveX 컨트롤을 작성하여 귀하를 대신 하여이 정보를 얻는 경우에만 가능합니다. 반면에 JavaScript가 정보를 얻을 com 객체를 인스턴스화 할 수 있다면 클라이언트의 JavaScript에서는 가능할 수 있습니다. 내가 생각할 수있는 유일한 방법은 IP가 캡처되면 ARP 요청을 수행하는 Windows 서비스가 있다는 것입니다.

당신은 이것을 쉽게 할 수 없습니다. 거기 ~이다 Mac과 IP 주소간에 번역을 허용하는 ARP와 같은 프로토콜이지만이 트래픽은 일반적으로 방화벽 뒤에 있으므로 공개 웹 사이트에서는 사용할 수 없습니다.

인트라넷에서는 asp.net을 통해서는 무언가를 할 수 없습니다. 이 정보를 캡처하기 위해 다른 메커니즘을 사용해야하지만 이러한 종류의 도구 (예 : 패킷 스니퍼)는 일반적으로 개발자가 사용할 수 없으며 기업이 정책을 위반할 수 있습니다.

당신은 같은 서브넷에 있으므로 가능합니다 p/호출 getipnettable 웹 서버의 ARP 테이블을 얻으려면 이 실시간을 수행하면 추가 작업이 필요하지 않습니다. 고객과 대화를 나누기 때문에 ARP 정보가 있습니다. 그렇지 않으면 ARP 요청 또는 일부 IP 트래픽을 구성해야합니다 (예 : AP)) 캐시에 가져 와서 DHCP 및 기타 네트워크 VARARIE (예 : 꺼진 기계와 같은)로 인해 IP를 MAC로 변환하면 다른 답변을 얻을 수 있습니다.

또한 모든 외부 클라이언트 (예 : 라우터를 가로 지르는 클라이언트)는 테이블 - 그러니 그것을 다룰 준비를하십시오. 어떤 이유로 든 Mac이 필요한 경우 기술적으로 라우터의 Mac입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top