- PR -

PHPでMACアドレス取得

投稿者投稿内容
IT新人
会議室デビュー日: 2004/12/03
投稿数: 8
投稿日時: 2004-12-03 14:17
はじめまして。皆様のアドバイス頂きたく、投稿します。
PHPでMACアドレス取得したいのですが、可能でしょうか?
または可能ならどうやったらいいのでしょうか?

アドバイス頂けたらなと思います。
ニック
ベテラン
会議室デビュー日: 2004/10/20
投稿数: 60
投稿日時: 2004-12-07 16:47
こんにちは。
ウェブサーバを閲覧しているクライアントPCのMACアドレスを
取得したいということでしょうか?
もしそうだとしたら無理だと思います。

引用:

IT新人さんの書き込み (2004-12-03 14:17) より:
はじめまして。皆様のアドバイス頂きたく、投稿します。
PHPでMACアドレス取得したいのですが、可能でしょうか?
または可能ならどうやったらいいのでしょうか?

アドバイス頂けたらなと思います。


コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-12-07 18:36
1. PHP 内で tcpdump を -e オプション付き且つ & 付きで起動し、パケットのスナップ
ショットをファイルに落とします。
2. 何分か sleep(); した後、同じPHP内で tcpdump のプロセスを殺します。
3. 同じ PHP 内でファイルを fopen(); し、fgets しながら fgetsした分全てを
preg_match("xxx.xxx.xxx.xxx", buf); に掛けます。(xxx.xxx.xxx.xxx) は
探したい MAC アドレス(未確定)に対応する、確定したIP アドレス。
4. 検索結果の MAC アドレスを指す特定のフィールドを substr(); 等で返します。
5. ファイルの最後まで逝ったら、ファイルをクローズします。
ほろりん
ベテラン
会議室デビュー日: 2004/11/24
投稿数: 98
お住まい・勤務地: あそこ
投稿日時: 2004-12-07 19:12
コブラさんのようにtcpdumpでみても、同じセグメント内の機器のMACしか得られないような気がします。
#デフォルトゲートウェイのMACだらけとか。

--編集--
今、EtherealでLANのデフォルトゲートウェイのルータから外へ向かうパケットと外から入ってきたパケットのMACを見て、確かめたら、IPアドレスはどこであれ、全部デフォルトゲートウェイのMACでした。
_________________
おしえて〜。せんせ〜いさ〜ん。

[ メッセージ編集済み 編集者: ほろりん 編集日時 2004-12-07 21:08 ]
IT新人
会議室デビュー日: 2004/12/03
投稿数: 8
投稿日時: 2004-12-09 18:45
みなさんご返事ありがとうございました。
ぶしつけ気味な投稿に返事を頂けたことに感謝します。
今回の目的はニックさんの言う通りウェブサーバを閲覧しているクライアントPCのMACアドレスを取得する処理でした。
先輩とかにもお尋ねしたのですが、どうやら出来ないとのことでした。
コブラさんの言うとおりにやればよさそう・・・なんでしょうが、ほろりんさんの意見もあったりで・・・。なかなか難しいもんですねぇ。
ほろりん
ベテラン
会議室デビュー日: 2004/11/24
投稿数: 98
お住まい・勤務地: あそこ
投稿日時: 2004-12-09 19:30
第2層(データリンク層)と第3層(ネットワーク層)の違いを考えれば当然の結論です。

MACは第2層ですから当然、隣同士の機器の間の制御にしか使用しません。
サーバから相手にパケットを送る時着信側のIP(ネットワーク層)を指定しますが、実際はデフォルトゲートウェイを経由します。第2層では第3層のIPのことなど当然知りませんので、サーバがデータリンク層(2層)で送る先のMACは当然デフォルトゲートウェイになります。
データリンク層でサーバが知っているべきMACはその同じセグメント内の機器のMACのみになります。

#説明の日本語がちょっとおかしいけどよく考えてみてください。

IT新人
会議室デビュー日: 2004/12/03
投稿数: 8
投稿日時: 2004-12-13 14:52
なるほど。
なんとなくなんですが、イメージが湧きました。
つまり、サーバ側から相手にはMACなど知らなくても、相手のIPさえ知っておけば、デフォルトゲートウェイを通っていくだけで相手を見つけることができると・・・
だから逆にMACアドレスは取得できないと・・・いうことですよねぇ。恐らく・・・。
なんだか安易な質問でしたが、すごく勉強になりました。

ありがとうございました!
mode-A
会議室デビュー日: 2005/03/27
投稿数: 2
投稿日時: 2005-03-27 07:42
シティーバンクさんでは、
オンラインサービスで利用できるパソコンを限定していると聞いていますが、
どの様に実現していると考えられますでしょうか?

MACアドレスで管理していると思い、このスレッドを見つけ質問させていただきます。
よろしくお願いたします。

スキルアップ/キャリアアップ(JOB@IT)