pingとは? わかりやすく解説

ピン【ping】


ピング【ping】

読み方:ぴんぐ

ピン(ping)


ping

読み方ピングピン

pingとは、IPネットワークにおいて、特定のサーバネットワーク機器などの死活監視や、疎通確認などを行うために用いられるソフトである。pingでは「CMPプロトコル」が利用されている。WindowsLinuxなどの多くのOSには標準で「ping」コマンドインストールされていることが多い。

ネットワーク接続のほかの用語一覧
管理:  ICMP  MIB  OpenFlow  ping  SNMP  シャットダウン  WBEM

Ping イベント


Ping クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されものです

リモート コンピュータネットワーク経由アクセスできるかどうかアプリケーション確認できるようにします。

名前空間: System.Net.NetworkInformation
アセンブリ: System (system.dll 内)
構文構文

解説解説

アプリケーションは、Ping クラス使用してリモート コンピュータ到達可能かどうか検出します。

Ping正常にリモート ホスト通信できるかどうかは、ネットワーク トポロジ決ま可能性ありますプロキシNAT (Network Address Translation) 設備、またはファイアウォール存在および設定によっては、Ping正常に動作しない可能性ありますPing成功しても、ネットワーク経由してリモート ホスト到達できることが示されただけです。より高レベルサービス (Web サーバーなど) がリモート ホスト存在するかどうか保証されません。

このクラスは、Ping.exe コマンド ライン ツールと同様機能提供しますSend メソッドおよび SendAsync メソッドは、ICMP (インターネット コントロール メッセージ プロトコル) エコー要求メッセージリモート コンピュータ送信し、そのコンピュータからの ICMP エコー応答メッセージ待機します。ICMP メッセージの詳細については、http://www.ietf.org から RFC 792 を参照してください

Ping クラス使用される型とその説明を以下に示します

Send メソッドおよび SendAsync メソッドは、PingReply オブジェクト応答返しますPingReply.Status プロパティは、要求結果を示す IPStatus 値を返します

要求送信するときにはリモート コンピュータ指定する必要があります。この指定には、ホスト名文字列文字列形式IP アドレス、または IPAddress オブジェクト使用できます

下の種類情報指定することもできます

Ping クラスは、要求送信するための同期メソッド非同期メソッド両方提供します応答を待つ間にアプリケーションブロックさせる場合は、Send メソッド使用します。これらは同期メソッドです。アプリケーションブロックさせない場合は、非同期SendAsync メソッド使用しますSendAsync呼び出すと、スレッド プールから自動的に割り当てられる独自のスレッド実行されます。非同期操作完了すると、PingCompleted イベント発生しますアプリケーションは、PingCompletedEventHandler デリゲート使用してPingCompleted イベント呼び出されるメソッド指定しますSendAsync呼び出前にPingCompletedEventHandler デリゲートイベント追加する必要がありますデリゲートメソッドは、SendAsync 呼び出し結果を表す PingReply オブジェクトが格納された PingCompletedEventArgs オブジェクト受け取ります

Ping クラスの同じインスタンス使用して複数ICMP エコー要求同時に生成することはできませんSendAsync呼び出し中に Send呼び出したり、SendAsync前回呼び出しがすべて完了する前に複数回呼び出したりすると、InvalidOperationException発生します

使用例使用例

Ping クラス同期的使用するコード例次に示します

using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        // args[0] can be an IPaddress or host name.
        public static void
 Main (string[] args)
        {
            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);
            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine ("Address: {0}", reply.Address.ToString
 ());
                Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
            }
        }
    }
}

Ping クラス非同期的に使用するコード例次に示します

using System;
using System.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.ComponentModel;
using System.Threading;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        public static void
 Main (string[] args)
        {
            if (args.Length == 0)
                throw new ArgumentException ("Ping needs
 a host or IP Address.");

            string who = args[0];
            AutoResetEvent waiter = new AutoResetEvent (false);

            Ping pingSender = new Ping ();

            // When the PingCompleted event is raised,
            // the PingCompletedCallback method is called.
            pingSender.PingCompleted += new PingCompletedEventHandler
 (PingCompletedCallback);

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);

            // Wait 12 seconds for a reply.
            int timeout = 12000;

            // Set options for transmission:
            // The data can go through 64 gateways or routers
            // before it is destroyed, and the data packet
            // cannot be fragmented.
            PingOptions options = new PingOptions (64, true);

            Console.WriteLine ("Time to live: {0}", options.Ttl);
            Console.WriteLine ("Don't fragment: {0}", options.DontFragment);

            // Send the ping asynchronously.
            // Use the waiter as the user token.
            // When the callback completes, it can wake up this thread.
            pingSender.SendAsync(who, timeout, buffer, options, waiter);

            // Prevent this example application from ending.
            // A real application should do something useful
            // when possible.
            waiter.WaitOne ();
            Console.WriteLine ("Ping example completed.");
        }

        public static void
 PingCompletedCallback (object sender, PingCompletedEventArgs e)
        {
            // If the operation was canceled, display a message to the
 user.
            if (e.Cancelled)
            {
                Console.WriteLine ("Ping canceled.");

                // Let the main thread resume. 
                // UserToken is the AutoResetEvent object that the main
 thread 
                // is waiting for.
                ((AutoResetEvent)e.UserState).Set ();
            }

            // If an error occurred, display the exception to the user.
            if (e.Error != null)
            {
                Console.WriteLine ("Ping failed:");
                Console.WriteLine (e.Error.ToString ());

                // Let the main thread resume. 
                ((AutoResetEvent)e.UserState).Set();
            }

            PingReply reply = e.Reply;

            DisplayReply (reply);

            // Let the main thread resume.
            ((AutoResetEvent)e.UserState).Set();
        }

        public static void
 DisplayReply (PingReply reply)
        {
            if (reply == null)
                return;

            Console.WriteLine ("ping status: {0}", reply.Status);
            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine ("Address: {0}", reply.Address.ToString
 ());
                Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
            }
        }
    }
}
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
      System.Net.NetworkInformation.Ping
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合はスレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Ping コンストラクタ


Ping プロパティ


Ping メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成に必要な情報をすべて格納しているオブジェクト作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Dispose  オーバーロードされますComponent によって使用されているリソースを解放します。 ( Component から継承されます。)
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型ハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetLifetimeService  対象のインスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象のインスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Send オーバーロードされますICMP (インターネット コントロール メッセージ プロトコル) エコー メッセージリモート コンピュータ送信し、そのリモート コンピュータから対応する ICMP エコー応答メッセージ受信します
パブリック メソッド SendAsync オーバーロードされます非同期的に ICMP (インターネット コントロール メッセージ プロトコル) エコー メッセージコンピュータ送信し、そのコンピュータから対応する ICMP エコー応答メッセージ受信します
パブリック メソッド SendAsyncCancel ICMP (インターネット コントロール メッセージ プロトコル) エコー メッセージの送信対応する ICMP エコー応答メッセージ受信を行う、保留中のすべての非同期要求キャンセルします
パブリック メソッド ToString  Component の名前を格納している String返します (存在する場合)。このメソッドオーバーライドできません。 ( Component から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
参照参照

Ping メンバ

リモート コンピュータネットワーク経由アクセスできるかどうかアプリケーション確認できるようにします。

Ping データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成に必要な情報をすべて格納しているオブジェクト作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Dispose  オーバーロードされますComponent によって使用されているリソースを解放します。 (Component から継承されます。)
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型ハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetLifetimeService  対象のインスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象のインスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Send オーバーロードされますICMP (インターネット コントロール メッセージ プロトコル) エコー メッセージリモート コンピュータ送信し、そのリモート コンピュータから対応する ICMP エコー応答メッセージ受信します
パブリック メソッド SendAsync オーバーロードされます非同期的に ICMP (インターネット コントロール メッセージ プロトコル) エコー メッセージコンピュータ送信し、そのコンピュータから対応する ICMP エコー応答メッセージ受信します
パブリック メソッド SendAsyncCancel ICMP (インターネット コントロール メッセージ プロトコル) エコー メッセージの送信対応する ICMP エコー応答メッセージ受信を行う、保留中のすべての非同期要求キャンセルします
パブリック メソッド ToString  Component の名前を格納している String返します (存在する場合)。このメソッドオーバーライドできません。 (Component から継承されます。)
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
明示的インターフェイスの実装明示的インターフェイス実装
参照参照

Ping

名前 ピンピング

ping

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/11/20 14:00 UTC 版)

ping(ピンまたはピング)はIPネットワークにおいて、ネットワーク上で特定のIPアドレスを持つ機器から応答があるかを調べるためのプログラムソフトウェア[1]


注釈

  1. ^ EditMTU等。
  2. ^ ここでのgopherはIT用語でのgopherではなく、齧歯目のgopherのことである。

出典

  1. ^ [1]
  2. ^ a b Mike Muuss. “The Story of the PING Program”. U.S. Army Research Laboratory. 2010年9月8日時点のオリジナルよりアーカイブ。2010年9月8日閲覧。 “I named it after the sound that a sonar makes, inspired by the whole principle of echo-location.”
  3. ^ "The Story of the PING Program", Mike Muuss
  4. ^ Salus, Peter (1994). A Quarter Century of UNIX. Addison-Wesley. ISBN 978-0-201-54777-1 
  5. ^ Mills, D.L. (1983). Internet Delay Experiments (英語). IETF. p. 1. doi:10.17487/RFC0889. STD 8. RFC 889. 2015年6月26日閲覧 不明な引数|month=は無視されます。 (説明)
  6. ^ http://www.manpagez.com/man/8/ping/
  7. ^ RFC 1122 - Requirements for Internet Hosts -- Communication Layers”. p. 42. 2012年3月19日閲覧。 “Every host MUST implement an ICMP Echo server function that receives Echo Requests and sends corresponding Echo Replies.”
  8. ^ a b Windows firewall: how block ICMP (echo response)”. 2019年2月27日閲覧。
  9. ^ ICMP: Internet Control Message Protocol”. repo.hackerzvoice.net (2000年1月13日). 2014年12月4日閲覧。
  10. ^ RFC 792 - Internet Control Message Protocol”. Tools.ietf.org. 2014年2月2日閲覧。
  11. ^ RFC Sourcebook's page on ICMP”. 2010年12月20日閲覧。
  12. ^ redhat linux /proc/sys/net/ipv4 parameters”. 2019年2月27日閲覧。
  13. ^ Abdou, AbdelRahman; Matrawy, Ashraf; van Oorschot, Paul (April 2017). “Accurate Manipulation of Delay-based Internet Geolocation”. ACM AsiaCCS. doi:10.1145/3052973.3052993. http://dl.acm.org/citation.cfm?id=3052993 



ping

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/29 14:15 UTC 版)

エコー (コンピュータ)」の記事における「ping」の解説

ping で使われるICMPパケットecho と呼ぶRFC 792 を参照

※この「ping」の解説は、「エコー (コンピュータ)」の解説の一部です。
「ping」を含む「エコー (コンピュータ)」の記事については、「エコー (コンピュータ)」の概要を参照ください。

ウィキペディア小見出し辞書の「ping」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「ping」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ping」の関連用語

pingのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



pingのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
アライドテレシス株式会社アライドテレシス株式会社
Copyright(c)2022 Allied Telesis K.K. All Rights Reserved.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2022 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリpingの記事を利用しております。
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2022 Microsoft.All rights reserved.
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのping (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのエコー (コンピュータ) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2022 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2022 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2022 GRAS Group, Inc.RSS