0

シナリオ:私たちは22人のメンバーのチームであり、一意のIDを使用してローカルマシンに毎日ログオンし、一連のログインを使用してリモートマシンに接続します。

ここでは、リモートマシンへの接続に使用されるログインは一意ではありません。つまり、同じユーザー名で複数のマシンを接続できます。

1行で22のリモートマシンには、22のメンバーが使用する5〜6のログインしかありません。

問題:リモートマシンは各従業員専用ではないため、毎日、特定のリモートマシンに接続しているユーザーを尋ねるメールをすべてのグループに送信する必要があります。また、誰かが「はい」と答えた場合は、切断するように依頼します。 。

すべてのマシンで実行され、どのマシンがどのマシンで使用されているかを表示するJavaを使用した小さなツールを開発したいと思います。

このサイトに記載されているコードは便利ですが、誰がそのログインを使用したかを指定していませんか?リンク: http: //lazynetworkadmin.com/content/view/34/6/

私は私のポイントを明確にしたと思います:)

どうすればいいのか教えてください。可能だと思いますか?

注:オペレーティングシステムについて言及するのを忘れました。それは次のとおりです。WindowsXP

4

2 に答える 2

1

リモートマシンでプログラムを実行すると、次のnetstatように出力されます。

C:\> netstat -n | find ":80"
  TCP    192.168.1.33:1930      209.85.129.190:80      ESTABLISHED
  TCP    192.168.1.33:2749      74.125.39.139:80       ESTABLISHED
  TCP    192.168.1.33:2861      74.125.171.167:80      TIME_WAIT

この出力から、確立されているすべてのネットワーク接続を確認できます。3番目の列には、他のホストのIPアドレスとポートが表示されます。find「:80」(私の場合は、接続しているすべてのリモートHTTPホスト)を含む行のみが保持されます。リモートホストが接続するポートがわかっているので、そのポート番号でフィルタリングできます。3番目の列には、このホストに接続されているすべてのコンピューターのIPアドレスとポートが含まれます。

IPアドレスから、それが誰のコンピュータであるかを簡単に見つけることができるはずです。

アップデート:

Javaを使用したいので、何をすべきかは簡単です。

  1. コマンドを実行しますnetstat -n
  2. で出力をキャプチャしますList<String>
  3. 各行を単語に分割します。
  4. 、で終わり、でword[0]ある行のみを保持します。TCPword[1]:3389words[3]ESTABLISHED
  5. word[2]これらの行をコロンで分割します。その場合、最初の要素はIPアドレスです。
  6. これらのIPアドレスのリストを中央サーバーに報告します。

中央サーバーで、Webサーバーを介してアクセスできる小さなプログラムを用意します。

  1. サーバーはアクティブな接続のリストを保持します。それぞれは、リモートホスト、クライアントホスト、および前回更新されたタイムスタンプで構成されます。
  2. リモートマシンからの着信接続を受け入れます。
  3. 1つの接続からクライアントIPアドレスのリストを受信します。
  4. 「アクティブリスト」から、そのIPから報告されたすべてのクライアントIPアドレスを削除します。
  5. 結果のリストを表示します。

例えば:

  • 最初は、アクティブな接続のリストは空です。
  • remote0192.168.0.33,192.168.0.35アクティブなクライアントとして送信します。
  • アクティブな接続のリストに、、が含まれるremote0:192.168.0.33ようになりremote0:192.168.0.35ました。
  • しばらくremote0して、アクティブなクライアントとして ``(空の応答)を送信します。
  • これで、アクティブな接続のリストも空になります。

したがって、Webサーバーは2つのURLを処理する必要があります。

  • /connections/listすべてのアクティブな接続を一覧表示します
  • /connections/update単一のリモートホストの接続を更新するため

ちょっとした作業のように聞こえますが、これは確かに実行可能です。そして、それが終わったとき、それは私にとって非常に使いやすいと感じます。

于 2010-07-27T22:18:11.453 に答える
0

ローカルプロキシを経由します。次に、プロキシはどの接続がアクティブであるかを認識します。

于 2010-07-27T08:08:30.790 に答える