0

ASP.NET を使用して、自分の PC と同じ LAN 上で動作しているマシンを確認するにはどうすればよいですか?

4

3 に答える 3

2

ネットワーク上のコンピューターに ping を実行できます。

// addressToPing can be an IPaddress or host name.
// returns a boolean indicating successful ping
public static bool PingComputer (string[] addressToPing)
{
    Ping pingSender = new Ping ();
    PingOptions options = new PingOptions ();

    // Use the default Ttl value which is 128,
    // but change the fragmentation behavior.
    options.DontFragment = true;

    // Create a buffer of 32 bytes of data to be transmitted.
    string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    byte[] buffer = Encoding.ASCII.GetBytes (data);
    int timeout = 120;
    PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
    return reply.Status == IPStatus.Success;
}   

http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx

この ping コードを使用して、LAN 上の IP アドレスを反復処理できます ( for(i = 1; i < 255; i++))。ただし、IPアドレスの計算については、おそらく読んでおく必要があります。

http://blogs.msdn.com/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx

これは「ping スイープ」と呼ばれます。ネットワーク上のコンピュータが ICMP 要求を無視するように構成されていないことを前提としています。

于 2009-01-15T17:20:55.070 に答える
0

これには 2 つの部分があります。ASP.NET ページと常時実行中のサービス。

常に実行されているサービスは、アクティブなマシンを把握するための ARP 要求のモニターです。ARP 応答を確認するには、独自の ARP 要求を発行する必要があります。Windows ネットワークでは、どのマシンがアクティブであるかを把握するのに十分なアイドル トラフィック (ブラウズ コンピューター用) が常に存在します。

于 2009-01-15T17:35:36.943 に答える
0

ネットワーク上のさまざまなコンピューターに監視ソフトウェアをインストールできる場合、運用ネットワークで稼働中/高負荷/ディスク容量不足/などのサーバーを追跡するためにnagiosを使用して幸運に恵まれました。また、ASP をまったく使用する必要のない優れた Web フロント エンドもあります。

ASP で自家製のものを作成する必要がある場合は、nmapを使用してクラス C サブネットをスキャンし、その結果を ASP ページに出力します。これは非常に効率的な方法ではありませんが、非常に単純であり、(適切なオプションを使用して) 動作することがほぼ保証されています。

于 2009-01-15T17:49:27.897 に答える