• ベストアンサー

サーバーからクライアントのMACアドレスを取得

ASPを使用して、サーバーからクライアント側の ネット情報などを取得したいのですが、できるのでしょうか? 今現在WMIを使用してクライアントからサーバーのMACアドレスを 取得できているのですが、逆の事もできるのではと考えました。 <HTML> <HEAD> <TITLE>MACアドレスの表示</TITLE> </HEAD> <BODY> <Form method="post" name="form1"> <input type="hidden" name="h_MACaddress" value="<%= MACA %>"> <% Dim MACA ConnectString = "winmgmts:{impersonationLevel=impersonate}!root\cimv2" Query = "SELECT MACaddress " Query = Query & " FROM Win32_NetworkAdapterConfiguration" Query = Query & " WHERE IPEnabled=TRUE" On Error Resume Next Set IPConfigSet = GetObject( ConnectString ).ExecQuery( Query ) if Err <> 0 Then 'エラー発生表示 if Err.Number = -2147217405 then Response.Write "Error 0x80041003: Access Denied: " Response.Write "Check permissions and file security for this ASP file." Response.Write "<BR>" else Response.Write "エラー説明: " Response.Write Err.Description Response.Write "エラー番号: " Response.Write Err.Number Response.Write "<BR>" end if end if For each IPConfig in IPConfigSet 'MACアドレス取得処理 Response.Write("MACADDRESS: ") Response.Write(IPConfig.MACaddress & "<br>") MACA = IPConfig.MACaddress Next 'Response.write("aaa:" & MACA & "<BR>") 'MACアドレスの変数 Response.Write "<BR>" if Err <> 0 Then 'エラー発生表示 Response.Write "エラー説明: " Response.Write Err.Description Response.Write "エラー番号: " Response.Write Err.Number Response.Write "<BR>" end if %> </BODY> </HTML> プログラムはこのようなものを使用しております。 できるできないだけでも知りたいので、 分かる方いらっしゃいましたら教えていただけますでしょうか? 宜しく御願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

> ASPを使用して、サーバーからクライアント側の > ネット情報などを取得したいのですが、できるのでしょうか? できないような気が・・・ > 今現在WMIを使用してクライアントからサーバーのMACアドレスを > 取得できているのですが、逆の事もできるのではと考えました。 その理屈で言うと・・・ ASPは(クライアントの要求で)サーバ上で動作してサーバ上の情報を取得している のですから、 クライアントの情報を取得したいなら(ASP上ではなく)クライアントスクリプト上で取得しなければならない のでは?

CCTOKO
質問者

お礼

回答ありがとう御座います。 >できないような気が・・・ やっぱりそうですよね。なんとなく自分でも分かっていたのですが・・・ >その理屈で言うと・・・ >ASPは(クライアントの要求で)サーバ上で動作してサーバ上の >情報を取得しているのですから、 >クライアントの情報を取得したいなら(ASP上ではなく) >クライアントスクリプト上で取得しなければならないのでは? クライアントスクリプトですか。 初めて聞きました。 早速調べたのですが、クライアントスクリプトを使用する際に、 条件としてIISが入っているクライアントPCでないと クライアントスクリプトは使用できないのでは?と思ったのですが?

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.4

> これってつまり<SCRIPT>....</SCRIPT>で指定する > JavaScriptやVBScriptの事ですか? そうです。 #というか、そのつもりで書いてます。 > スクリプトの実行権限者が 普通のログインユーザーではないので 権限のことを忘れてましたね・・・ 後、ユーザによっては、「スクリプト実行不可」にしている人もいるでしょうから・・・ #「できるかも知れないが、確実にできる保証はない」といったところですね。

CCTOKO
質問者

お礼

>後、ユーザによっては、「スクリプト実行不可」にしている人もいるでしょうから・・・ まぁ今回はスクリプトが実行できる前提で考えているので、今回は大丈夫です。 >#「できるかも知れないが、確実にできる保証はない」といったところですね。 そうですか。わかりました。 とりあえずもう少し調べてみます。 一応、できない理由やその証拠を集めたいので・・・。 dsuekichiさんとredfox63さんにはお世話になりました。 もし、分からない事がありましたらその時は またご指導して戴けたらと思います。 ありがとう御座いました!!

すると、全ての回答が全文表示されます。
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

クライアントスクリプトでもスクリプトだけでは無理でしょう スクリプトの実行権限者が 普通のログインユーザーではないので GetObject辺りでこけてしまいます ActiveXなどのコントロールを作ってアカウントの偽装などを施しリソースにアクセスするような仕組みを考えないといけないようです # 余りお勧めは出来ませんが … # また MACやUnix(Linux)など他のプラットフォームの場合の対処も考えないといけませんね

CCTOKO
質問者

お礼

回答ありがとう御座います。 >ActiveXなどのコントロールを作ってアカウントの偽装などを施しリソースにアクセスするような仕組みを>考えないといけないようです そうですか。 ASPに対応させる事ってできるんですかね? なんか無理そうな感じがしますが・・・?

すると、全ての回答が全文表示されます。
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> 早速調べたのですが、クライアントスクリプトを使用する際に、 > 条件としてIISが入っているクライアントPCでないと > クライアントスクリプトは使用できないのでは?と思ったのですが? 違います。 サーバ側で動作するASPの様なスクリプトと区別するために、 クライアントスクリプトの様な言い方をしましたが、 実際にはIEの様なブラウザ(クライアント側)で動く(普通の)スクリプトのことです。

CCTOKO
質問者

お礼

>サーバ側で動作するASPの様なスクリプトと区別するために、 >クライアントスクリプトの様な言い方をしましたが、 >実際にはIEの様なブラウザ(クライアント側)で動く(普通の)スクリプトのことです。 これってつまり<SCRIPT>....</SCRIPT>で指定する JavaScriptやVBScriptの事ですか?

すると、全ての回答が全文表示されます。

関連するQ&A