Frage

In einem ASP.NET (C #) WebApp, kann ich die IP-Adresse der Besucher bekommt PC leicht, aber wie die MAC-Adresse der Besucher erhalten PC in einem ASP.NET-webApp?

Und die ASP.NET-Anwendung auf dem inneren Intranet unseres Unternehmens ist runing, und die Besucher sind auch in der gleichen inneren Intranet unseres Unternehmens.

War es hilfreich?

Lösung

Die MAC-Adresse ist nicht Teil der IP-Header (oder jede andere Protokolle darüber) und somit nicht verfügbar, wenn alles, was Sie sehen, ist der HTTP-Verkehr.

EDIT (nach OPs Update): Da Clients und Server auf dem gleiche interne Netzwerk ist, wäre es nicht besser sein, einen Hostnamen aus der IP-Adresse zu erhalten anstelle der MAC-Adresse? Sie können ganz einfach die Hostnamen auf der Basis der IP-Adresse nachschlagen.

Andere Tipps

Die Antwort, die sofort kommt, ist in dem Sinne, dass dies nur möglich ist, wenn Sie ein ActiveX-Steuerelement, das ausgeführt wird in dem Client-Browser schreiben, um diese Informationen in Ihrem Namen zu erhalten. Auf der anderen Seite könnte es möglich sein, mit JavaScript auf dem Client, wenn die JavaScript ein COM-Objekt zugreifen können, die Informationen zu bekommen. Der einzige andere Weg, ich denke, heißt kann einen Windows-Dienst, die eine ARP-Anfrage macht, sobald die IP erfasst wurde.

Sie können dies nicht ohne weiteres tun. Es sind Protokolle wie ARP, die zwischen MAC- und IP-Adressen-Übersetzung erlauben, aber dieser Verkehr ist in der Regel hinter einer Firewall und so zu Ihnen auf einer öffentlichen Website nicht verfügbar ist.

In einem Intranet, könnten Sie in der Lage sein, etwas zu tun, aber nicht über ASP.NET. Sie müßten andere Mechanismen verwenden, um diese Informationen zu erfassen -. Aber diese Arten von Werkzeugen (zum Beispiel Packet-Sniffer) sind in der Regel nicht für Entwickler verfügbar und können im Widerspruch zu Unternehmensrichtlinien SIND

Da bist du auf dem gleichen Subnetz, können Sie P / Invoke GetIpNetTable die bekommen ARP-Tabelle des Webserver. Wenn Sie diese in Echtzeit zu tun, wäre keine zusätzliche Arbeit notwendig sein - da Sie ein Gespräch mit dem Kunden haben soll, werden Sie die ARP-Informationen haben. Andernfalls müssten Sie eine ARP-Anforderung oder einen IP-Verkehr (sagen wir, ap ing ) im Cache zu bekommen - und beachten sie, dass aufgrund von DHCP und anderer Netzwerk-Kapricen (wie eine Maschine) ausgeschaltet wird, ist es möglich, dass später IP-MAC-Umwandlung nachgeben eine andere Antwort.

Beachten Sie auch, dass alle externen Kunden (dh., Diejenigen über einen Router) einfach nicht in der Tabelle - so damit zu umgehen, wie gut vorbereitet sein. Wenn Sie einen MAC für sie aus irgendeinem Grund benötigen, ist es technisch MACs Ihres Routers.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top