- PR -

ネットワークに繋がったコンピュータが起動しているかチェックする方法

投稿者投稿内容
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2005-04-07 14:04
こんにちは、VB.Netにてネットワークに繋がったコンピュータが起動しているかチェックを行いたいのですが
どのような方法がありますでしょうか?
チェックする項目としては
・PCが起動していてネットワークに繋がっているか?
DosのPingコマンドを実行してその結果で判断する方法があると思いますがそのほかにもあるようでしたら
ご教授願います。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2005-04-07 14:25
今日は。
引用:

どのような方法がありますでしょうか?


単純に起動しているかどうかならpingで十分でしょう。 
(実際市販の監視ツールとかもそれで見てますし)

でもSolarisとかだと、ネットワークが起動していても
マルチユーザモードじゃ無いって事もあります。

なので、更に何かしらサービス(TCPポートが使えるか?)
をチェックするのが良いと思いますよ 
_________________
Inspired Ambitious
ISMS Assistant Auditor
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-04-07 14:41
引用:

Natsumeさんの書き込み (2005-04-07 14:04) より:
こんにちは、VB.Netにてネットワークに繋がったコンピュータが起動しているかチェックを行いたいのですがどのような方法がありますでしょうか?


確認する方法自体はプロトコルの数だけあると思ったほうが良いでしょう。どの方法が適しているかは、「何のためにチェックしているのか?」とか「『起動している』と言う状態をどのように定義するか?」によるでしょう。pingコマンドで確認していると言うことは、icmpエコーリクエストに応答することを「起動している」と見なすわけですよね。当然Firewall等でエコーへの応答を禁止していれば、起動していないと判断することになります。

特定のTCPポートでListenしている状態を起動していると見なすなら、Synパケットを送信してSynAck応答を監視すると言う方法もあります。
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2005-04-07 15:52
NAOさん、甕星さん回答ありがとうございます。
説明が足りず申し訳ございません。
やりたいことは
クライアント(Windows)からから特定のサーバ(Windows)にイベントログを書くのですが
その時に特定のサーバが稼動しているかチェックを行いたいのです。
例えばサーバがダウンしている時やネットワークケーブルが外れているときなどに
イベントログを書こうとするとエラーになるのですがその時に時間がかかるため
最初にサーバが動作しているということをチェックしたいのです。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2005-04-07 16:00
引用:

Natsumeさんの書き込み (2005-04-07 15:52) より:
NAOさん、甕星さん回答ありがとうございます。
説明が足りず申し訳ございません。
やりたいことは
クライアント(Windows)からから特定のサーバ(Windows)にイベントログを書くのですが
その時に特定のサーバが稼動しているかチェックを行いたいのです。
例えばサーバがダウンしている時やネットワークケーブルが外れているときなどに
イベントログを書こうとするとエラーになるのですがその時に時間がかかるため
最初にサーバが動作しているということをチェックしたいのです。


ならばPINGとイベントログを書く時に通信で使うポートを監視すれば良いのでははいでしょうか? 

引用:

514/udp


だったかな?


_________________
Inspired Ambitious

[ メッセージ編集済み 編集者: NAO 編集日時 2005-04-07 16:41 ]
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2005-04-07 16:28
引用:

Natsumeさんの書き込み (2005-04-07 14:04) より:

DosのPingコマンドを実行してその結果で判断する方法があると思いますが
そのほかにもあるようでしたらご教授願います。



Pingコマンドを実行した結果をプログラムで取り出したいなら、こんな
方法もあります。
http://www.codezine.jp/a/article.aspx?aid=45

まぁ、やってることは一緒ですが。
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2005-04-07 17:41
NAOさん
>ならばPINGとイベントログを書く時に通信で使うポートを監視すれば良いのでははいでしょうか?
そうですね

どっとねっとふぁんさん
>Pingコマンドを実行した結果をプログラムで取り出したいなら、こんな方法もあります。
>http://www.codezine.jp/a/article.aspx?aid=45
WMIのPingStatusはWindows XPでないと利用できないですよね、こちらは2000を利用しているので....

そうなるPINGの結果をリダイレクトしてファイルに出力するしか方法が無いのでしょうか?
できればファイル利用したくないのでほかに方法をご存知であればご教授願います。
 

[ メッセージ編集済み 編集者: Natsume 編集日時 2005-04-07 17:47 ]
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2005-04-07 17:42
引用:

Natsumeさんの書き込み (2005-04-07 15:52) より:

クライアント(Windows)からから特定のサーバ(Windows)にイベントログを書くのですが
その時に特定のサーバが稼動しているかチェックを行いたいのです。
例えばサーバがダウンしている時やネットワークケーブルが外れているときなどに
イベントログを書こうとするとエラーになるのですがその時に時間がかかるため
最初にサーバが動作しているということをチェックしたいのです。



そのイベントログはリモートDISKか何かで書き込むのですか?
それなら、
1.Ping
2.サーバーのフォルダにテンポラリのファイルを書く(小さなファイルで可)
の2段階で見ればどうでしょうか?

物理的な切断は1.でわかるでしょうし、権限等の設定関係は2.でわかる
と思いますよ。

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