C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: 自作アプリを起動しているIP、ホスト名を知りたい


(過去ログ 123 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■73667 / inTopicNo.1)  自作アプリを起動しているIP、ホスト名を知りたい
  
□投稿者/ K太 (1回)-(2014/10/22(Wed) 20:49:49)

分類:[.NET 全般] 

C#でアプリ(example.exe)を作り、複数人が利用しています。利用者は同じネットワーク、セグメントにいます。

このexample.exeを起動しているユーザーのIPアドレス、MACアドレス、コンピューター名を取得したいと思っています。

そこで、まずどのようにexample.exeを起動しているユーザーを特定するかがわかりません。どのように特定すればいいでしょうか?

またネットで調べても自分のIPやホスト名を調べる方法は見つかるのですが、他のPCのIP、MACを調べる方法も見つけることができませんでした。

こちらも方法をお教え頂けると助かります。ありがとうございます、よろしくお願いします。
引用返信 編集キー/
■73669 / inTopicNo.2)  Re[1]: 自作アプリを起動しているIP、ホスト名を知りたい
□投稿者/ WebSurfer (364回)-(2014/10/22(Wed) 21:15:56)
No73667 (K太 さん) に返信

> このexample.exeを起動しているユーザーのIPアドレス、MACアドレス、コンピューター名を取得したいと思っています。

何処で取得しようとしているのか書いてないので分かりませんが、何にせよ
example.exe を使用しているユーザーの PC で、example.exe がユーザーの
IP アドレス、MAC アドレス、コンピューター名を取得して、取得する場所に
送信してくれない限りは何ともならないと思います。
引用返信 編集キー/
■73670 / inTopicNo.3)  Re[1]: 自作アプリを起動しているIP、ホスト名を知りたい
□投稿者/ 魔界の仮面弁士 (158回)-(2014/10/22(Wed) 21:18:00)
No73667 (K太 さん) に返信
> C#でアプリ(example.exe)を作り、複数人が利用しています。利用者は同じネットワーク、セグメントにいます。
利用者ごとに異なるユーザーでログオンしているのであれば、
アクセス監査で、ログオンユーザー名を追跡できるかも…? 未検証。
あるいは net file コマンドとか。
http://www.atmarkit.co.jp/fwin2k/win2ktips/083opened_net_file/083opened_net_file.html

同じユーザーアカウントが複数の端末で利用されている場合には区別できませんが。


> このexample.exeを起動しているユーザーのIPアドレス、MACアドレス、コンピューター名を取得したいと思っています。
誰にでも使わせるのではなく、EXE 側にログオン画面を設けるとか…?


> 他のPCのIP、MACを調べる方法も見つけることができませんでした。
コマンドプロンプトから「getmac /s 相手先」を入力するとか、
リモートコンピューターに対して Win32_NetworkAdapterConfiguration あたりで
調査をかけることはできそうですが、どの他の端末の情報を調査するのかが
明らかにならないと無意味ですしね…。
引用返信 編集キー/
■73672 / inTopicNo.4)  Re[2]: 自作アプリを起動しているIP、ホスト名を知りたい
□投稿者/ daive (32回)-(2014/10/22(Wed) 21:37:15)
疑問点です。
C#でアプリ(example.exe)
に、希望する機能が実装されているのか?
⇒アプリ起動時に、起動した権限下で、掲示の情報が取得できる
 機能を実装しているかどうか?
 該当アプリが、普段使用されている権限で、掲示の情報が取得可能かどうか、検討しましたか?
 (アプリ内での権限の昇格、権限偽装について、調べましたか?)
それとも、
該当PCへの監査が出来る様に、権限や、OSやらの環境を設定しているのか?
又は、
該当PCには、監査用のアプリが入っているのか?

中華製の安物LANカードや、組込みPCを使った事があれば、解るのですが、(それ以外でも)
MACアドレスは、必ずしも、変更不可ではないですし、
MACアドレスが、未設定の場合もあります。
(企業用であれば、杞憂か?)

社内ネットワークであれば、該当アプリの都合による、
ファイヤーウォール設定、セキュリティ設定などの変更が可能かどうかや、
それらを行わないで、何が可能かの検討も必要かと。
引用返信 編集キー/
■73673 / inTopicNo.5)  Re[3]: 自作アプリを起動しているIP、ホスト名を知りたい
□投稿者/ K太 (2回)-(2014/10/22(Wed) 21:51:56)
皆様

ご回答ありがとうございます。IP Messengerというソフトウェアを見つけました。

http://ipmsg.org/

有名ソフトウェアみたいですが、私は恥ずかしながら知りませんでした。このアプリは、ネットワーク内でアプリを起動している人を特定して、その人とチャットできる機能を実装していました。

勉強と思い、チャット機能を実装したいと思ったのですが、どうやって自分以外のアプリを起動している相手を探すのだろう?と思い質問させて頂きました。

お教え頂いた内容を読んでいると、私にはまだ理解できない事が多いです。もう少し勉強をしてみます。ありがとうございます。
引用返信 編集キー/
■73674 / inTopicNo.6)  Re[4]: 自作アプリを起動しているIP、ホスト名を知りたい
□投稿者/ Azulean (348回)-(2014/10/22(Wed) 21:59:53)
基本的に通信相手を知るためには以下の手段が考えられます。

(1)相手を直接指定する
(2)サーバーに仲介してもらう
(3)該当セグメント内でブロードキャストして調べる

IP メッセンジャーは(3)に相当すると思います。
ネットワークとか、ブロードキャストとか、そういった単語からどういった仕組みなのかを調べてみるところから考えてみてください。
(頻繁にブロードキャストしてると迷惑をかけるので注意。セグメントを超えられないはずなのでそれを超える必要があるなら使えないのでそれも注意)
引用返信 編集キー/
■73680 / inTopicNo.7)  Re[5]: 自作アプリを起動しているIP、ホスト名を知りたい
□投稿者/ K太 (3回)-(2014/10/22(Wed) 22:24:16)
Azulean様

ご回答ありがとうございます。IPメッセンジャーはソースがあったので、ダウンロードして見ていたらヘルプの中にありました。
おっしゃるとおり、ブロードキャストしているみたいです。私にはC++を読み解く力はありませんが、せっかくソースがあるので、頑張ってみたいと思います。
ありがとうございます。

1) メンバ認識

起動時に、IPMSG_BR_ENTRY コマンドをブロードキャストし、すでに
立ち上がっているメンバに、新規参加を知らせます。

このブロードキャストにより、すでに立ち上がっているメンバは、
自分の送信先リストに新規参加メンバの情報を追加します。さらに、
IPMSG_ANSENTRY コマンドをその新規参加メンバに対し、返信します。
(備考: Win版では、メンバ数やIPアドレス距離等に基づいて、0-4秒
 程度のランダムな待ちを入れています)

新規参加メンバは、この IPMSG_ANSENTRY を受信することにより、
すでに立ち上がっている全メンバの情報を得ることができます。
したがい、IPパケットが失われない限りは、全てのメンバが同一の
送信先リストを保持できるというわけです。
引用返信 編集キー/
■73702 / inTopicNo.8)  Re[6]: 自作アプリを起動しているIP、ホスト名を知りたい
□投稿者/ K太 (4回)-(2014/10/23(Thu) 19:46:12)
皆様

勉強になりました。ありがとうございました。
UDPなどもよくわからなかったので、あらためて勉強です。

こちらのサイトは非常に勉強になりました。

http://shokai.org/blog/archives/4193
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -