• 締切済み

Macアドレスを取得するには

ローカルエリア内でユーザを認証するページを作っているのですが、認証してくるクライアントのMACアドレスをどうしても取得したいのですが、どうしたらいいのでしょうか?

  • Perl
  • 回答数2
  • ありがとう数0

みんなの回答

  • hchonan
  • ベストアンサー率79% (19/24)
回答No.2

一般的なOSの場合、IPアドレスとMACアドレスの対応表をARPキャッシュテーブルとして保持しており、接続元のIPアドレスをもとにMACアドレスを特定することが可能です。通信実績のないIPアドレスについては順次ARPテーブルから削除されますが、「認証してくるクライアント」というのであればARPテーブルに相手先のMACアドレス情報が存在する可能性は高いと思います。 Perl の場合、Net::ARP モジュールというのがありモジュールの追加インストールが必要ですが、Net::ARP::arp_lookup() で取得できそうです。

参考URL:
http://search.cpan.org/~crazydj/Net-ARP-1.0/ARP.pm
noname#246547
noname#246547
回答No.1

ローカルエリア内がいくつかのセグメントで区切られているならば、 サーバに届いたパケットからでは、クライアントのMACアドレスを取得出来ないので、認証ページ(HTMLのページですよね?)に ActiveX埋め込んで、取得したものをsubmit時に一緒にサーバに送るとかになるのかなぁ? JavaScriptでMacアドレスは取れないと思うし・・・ 当方、ActiveXを使用したことが無いため、あくまで参考程度で!

関連するQ&A

  • Macアドレスを取得するには

    ユーザを認証するページを作っているのですが、認証してくるクライアントのMACアドレスをどうしても取得したいのですが、どうしたらいいのでしょうか?

  • MACアドレスを取得する方法はありますか?

    クライアントのMACアドレスを取得する方法はありますか? ご存知の方見えましたら教えてください。

  • 利用者側のMACアドレスを取得したい

    いま PHP を使ってウェブサイトを構築しており、 認証として利用者のMACアドレスを取得したいと思っています。 LAN 内であれば http://www.phpclasses.org/browse/file/7704.html 等を利用して取得できるようですが、 当たり前ですが LAN の外の方との通信では取得ができません。 JavaScript を使ってクライアント側の MACアドレスを取得してしまう という方法があると聞いたことがあるのですが、 検索しても見つけ出すことができませんでした。 ご存じの方、お教え頂けますでしょうか? よろしくお願い致します。

  • MACアドレスについて

    ローカルエリア接続→状態→サポート→詳細を見たときに 書かれてある物理アドレスと、このパソコンに繋いでる エアーステーションのMACアドレスが違うんです。 詳細に書かれてあるのは「000D5E~」で、 エアーステーションのは「000740~」なんです。 設定がおかしいのかと思ってやり直してみたのですが、変わりませんでした。 ふつう同じアドレスですよね? それともこれで大丈夫なのでしょうか…。 あと、ネットワーク接続のところに 「ローカルエリア接続」と「1394 接続」の2つあるんですが 1394の方、無効にしても大丈夫でしょうか? 何かに使うんでしょうか… パソコンのこと詳しくなくて、 どうしたらいいのか解らなくて困ってます。 よろしくお願いします。

  • クライアントソケットMACアドレスの取得方法

    こんにちは。 現在、Java製の簡易的なアプリケーションサーバを作成しています。 サーバソケットをオープンして要求を受け、 何らかの処理を行って応答を返すことは出来ていますが、 アクセスに対してフィルタリングを行う要望が非常に高くなっています。 それも、IPアドレスなら簡単なのですが、 MACアドレスによるフィルタリングも要件に入って来ており、 このMACアドレスの取得方法が見つかりません。 ソケット中には必ずクライアントソケット側のMACアドレスも 存在していると思うのですが、 Javaでそれを取得するAPIが無い?のは不思議です。 クライアントのMACアドレスの取得方法は存在するのでしょうか? 存在するのでしたらどうかご教授をお願い致します。 どうぞよろしくお願い致します。

    • ベストアンサー
    • Java
  • パソコンのMACアドレスについて

    WINDOWS10です。 スタート → 設定 →ネットワークとインターネット →ネットワークのプロパティを表示 すると ・イーサーネット ・ローカルエリア接続1 ・ローカルエリア接続2 ・Wi-Hi ・Bluetoothネットワーク接続 と5種類が表示され それぞれ物理アドレス(MAC)が相違しています。 パソコンに無線LANが内蔵されており MACアドレスはそれの1個だけだと思っていたのですが 5種類もあるのは、なぜでしょうか? また、このパソコンの無線LANのMACアドレスは 上記のWi-Hiの所に表示されている物という 認識で合っていますでしょうか? よろしくお願いいたします。

  • ipconfig/allでMACアドレスを調べてみたのですが、

    ipconfig/allでMACアドレスを調べてみたのですが、 インターネットアダプターローカルエリア接続と Wireless Lan adapterワイヤレスネットワーク接続の違いって何なのでしょうか? どちらにも物理アドレス(MAC)があるみたいです。 別々のメーカーのものみたいなのですが。 他にもTunnel adapterローカルエリア接続などに物理アドレスが付いているようですが、 これはそれぞれどのような役目を持っているのでしょうか? 親機として使ったアドレスと子機として使う場合のアドレスということ?

  • MACアドレスの確認

    自分のLANカードのMACアドレスの確認は どうしたら出来ますか? コマンドプロンプトでipconfig /allで出てくる ローカルエリア接続のPhysical Addressがそうなのでしょうか? よろしくお願いします。

  • アクセス元PCのMACアドレス取得方法

    どのカテで相談するべきか悩みましたが、Webについて こちらを見られている方がお詳しそうだったのでAJAX 限定と言う訳ではありませんがこちらに 質問させていただきました。 アクセス元PCのMACアドレスの取得をしたいのですが、 通常のやり方では、間にルータが入る以上取得不可能と言う 事は認識しておりますが、アクセス元のPC内でMACアドレス を記録して送信してもらうようなプログラムをWeb上又はローカル クライアントから実行してもらいそれを、サーバ側で取得する 方法では可能になりませんでしょうか? もし、別の方法でも可能であればその手順等を教えて頂けません でしょうか? ※実装に関しては、別途質問を立てたいと思いますので、 簡潔な情報で構いません。

    • ベストアンサー
    • AJAX
  • .netでMACアドレスを取得

    System.Net.NetworkInformationの NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); をつかって、MACアドレスを取得しているのですが、CMDのipconfigと比べると明らかに取得数がすくなく、どうやら、取得した時点で使用しているMACアドレスしか取得できていないことがわかりました。 あと、ipconfigだと、ブルートゥースのアドレスなども取得していました。 .netの機能で、ipconfingと同じように、そのPCのすべてのMACアドレスを取得したいのですが、方法はないのでしょうか?CMDから取得する方法を現在はとっているのですが、遅すぎて困っています。 環境はVS2010のC#です。

専門家に質問してみよう