Linuxのおかげで、ネットワーク管理を容易にする多くのツールにアクセスできます&診断。 この意味で、Linux pingコマンドは、システム管理者やネットワーク管理者にとって最も便利なツールの一つです。

その基本的な機能は、ネットワークの一方のホストが到達可能であるかどうかを判断することです。 ただし、この記事では、Linux Pingコマンドの他のより高度な機能について説明します。

目次

pingコマンドの使用は何ですか?,

pingコマンドは、ネットワークを操作するための最も基本的なツールの一つです。 その目的は、ネットワーク接続エラーの診断です。

このようにして、ネットワークノードが接続を失ったかどうかを知ることができます。 一方、次のような他の診断タスクを実行することも有用である。

  • 二つのネットワークノードが通信するのにかかる時間を測定する。

        • また、特定のホストのIPアドレスを識別することができるようになります。 この機能はインターネットとプライベートネットワークの両方で使用できます。,
        • pingコマンドは、ネットワークノードで自動チェックを実行するためにbashスクリプトで使用できます。
        • 特定の機器との接続があるかどうかを知ることができます。

        ご覧のとおり、これはネットワークとサーバーの管理に必要なコマンドです。

        pingコマンドはどのように機能しますか?

        Linuxでは、pingコマンドの機能を説明するのは非常に簡単です。 このコマンドは、特定のノードに一連の小さなパケットを送信します。

        このノードは、IPアドレスまたはホスト名のいずれかを使用してテストできます。, 次に、パケットを送信した後、このコマンドは宛先ノードからの応答を受信するのにかかる時間を検証して測定します。

        ご想像のとおり、接続ポイント間の地理的位置、または二つのノード間で使用されるハードウェアの一部などの条件により、応答時間に影響を与える可

        例えば、有線おけるプライベートネットワーク、コマンドの良倍以上のネットワークに複数のルータやルータタイプます。

        ただし、コマンドが生成する情報は、ネットワークが良好または不良の状態であるかどうかを判断します。,

        コマンドの構文は次のとおりです。

        ping 

        pingコマンドの最も有用で使用されるオプションのいくつかは次のとおりです。

        • -c:このオプションを使用すると、送信するパケットの数を指定できます。
        • -s:このオプションを使用すると、パケットのデフォルトサイズを変更できます。
        • -v:冗長モードです。
        • -w:コマンドの実行が終了する時間を秒単位で指定します。 コマンドが送信または受信したパケットの数に関係なく。
        • -i:このオプションを使用すると、使用するネットワークインターフェイスを指定できます。,

        宛先ノードは、IPアドレスまたはホスト名で指定できます。

        プロキシでpingできますか?

        プロキシは、ネットワーク上の二つのポイント間の接続の仲介者として機能するサーバーまたはアプリケーションです。 別のノードに直接リクエストを行うのは、真ん中の男性です。

        問題は、Pingコマンドがノード間の直接ネットワーク接続を必要とすることです。

        したがって、Pingコマンドの背後にプロキシがある場合、通常、Pingコマンドは正常に機能しません。考えられる解決策は、多くのwebサイトがPingコマンドサービスを提供していることです。, 一方、pingコマンドの一部のタスクでは、curlコマンドを使用することができます。 また、VPNを使用してIPを非表示にすることもできます。ただし、一部のLinuxディストリビューションでは、このコマンドはデフォルトではインストールされません。 最初に検証してインストールインストールするものであれば、これが表示されます。.

        Ping IPv6プロトコル

        通常、Pingコマンドを使用する場合、IPv4プロトコルでIPアドレスを使用します。 ただし、IPv6プロトコルの出現により、この形式のアドレスに気付くことがますます一般的になっています。

        LinuxカーネルはIPv6プロトコルをバージョン2からサポートしている。,2すべてのLinuxディストリビューション現在のところサポートします。

        基本的な構文は次のとおりです。

        $ ping -6 2001:4860:4860::8888

        古いバージョンでは、ping6コマンドがありました。 最近のバージョンのLinuxでは、ping6はもう存在せず、その機能はpingにマージされており、あなたが見たのと同じように動作します。

        基本的な構文は次のとおりです。

        ping6 

        オプション-cを使用すると、送信するパケット数を指定し、使用するネットワークインターフェイス, 例:

        特定のポートにPing

        ノード上の特定のポートがアクティブであるかどうかを知りたい場合があります。 ただし、pingコマンドはこの機能を提供しませんが、Linuxにデフォルトでインストールされているtelnetコマンドを使用して実行することは可能です。

        これを行うには、次の構文を使用します。

        telnet 
        telnet google.com 80

        このようにして、ネットワークノードの特定のポートをプリミティブな方法でpingすることができます。,

        Ping with time

        pingコマンドは有用な情報を表示しますが、少し簡単かもしれません。 ただし、パケットが送信された日付を表示させるために、コマンドの操作を少し変更することは可能です。

        これにより、情報が目を楽しませることができ、スクリプトやログに役立つ場合があります。

        この構文はそれを行うのに十分です。 ただし、cczeパッケージのインストールが必要です。

        ping | xargs -n1 -i bash -c 'echo `date +%F\ %T`" {}"' | ccze

        ご覧のとおり、送信されたすべてのパケットの時刻が表示されます。,

        特定のサブネット上のすべてのホストにPing

        ネットワークまたはサブネット上のすべてのホストにpingシグナルを送信できます。 このためには、オプション-bを追加し、255で終わるネットワークのブロードキャストIPアドレスにpingを実行すれば十分です。

        例:

        ping -b -c 4 192.168.1.255

        宛先に到達できない場合、pingコマンドで送信されたICMPパケットをブロックするか、ネットワークの問題やルーティングテーブルに問題があるかもしれません。

        pingを終了するには?,

        デフォルトでは、Linuxのpingコマンドは継続的にテストパケットをホストに送信します。 ただし、情報が利用可能になると、pingコマンドの実行を終了する必要が生じます。

        これを行うには、次のキーを押すだけです。

        CTRL + C

        このようにして、コマンドはすぐに動作を停止します。

        特定のカウントの後に終了

        パケットのカウントを10などに制限することができます。 それは十パケットの送信を終了すると、それは停止します。,

        ping -c 10 

        linux上でpingコマンドはどこにありますか?

        LinuxのようなUnix派生システムでは、バイナリは一般的にパスにあります。

        /usr/bin/

        このディレクトリには、ターミナル上のコマンドとして使用する多くのバイナリがあります。 Linuxファミリの他のオペレーティングシステムでは、

        /usr/sbin/

        ディレクトリに配置することもできます。,

        したがって、lsコマンドを使用して確認できます。

        $ ls /usr/bin | grep ping

        この画像では、pingコマンドが

        /usr/bin/

        別の方法で、whichコマンドを使用してLinux上の任意のコマンドを見つけることができます。

        $ which ping

        次のように表示されます。

        /usr/bin/ping

        pingコマンドを使用してレイテンシをチェック

        pingコマンドによって提供される可能性の一つは、接続応答時間 それが待ち時間です。,

        pingコマンドを使用してレイテンシを測定するには、それを使用して画面出力に注意してください。

        ping -c 4 ping -c 4 192.168.1.1

        ご覧のように、四つのパケットが一定の応答時間で宛先に送信されています。

        一番下には、次のように始まる行があります。

        rtt min/avg/max/mdev

        等号の後の二番目の値はレイテンシ値です。 この場合、値は6.798です。,

        レイテンシでは、他のホストよりも接続が劣っているホストを判断することができます。 このようにして、適切な措置を講じることができるようになります。

        理想的なMTUを見つける

        MTU(Maximum transmission unit)は、ネットワーク経由で送信できる最大データ単位のサイズを静的にバイト単位で表す値です。

        現在、セキュリティ対策のために、MTUが機能するのを妨げるネットワークがますます増えています。 しかし、Ethernet地域ネットワークを使用1500バイトのMTU.,pingコマンドを使用して理想的なMTU値を見つける場合は、初期値を設定し、エラーがなくなるまで減少させます。 値が高すぎる場合は、次のエラーが表示されます。

        ping: local error: Message too long

        これを行うには、次の構文を使用します。

        ping -M do -s 

        例えば、

        ping -M do -s 1473 192.168.1.1

        この場合、パッケージサイズの値は非常に大きいです。 だから私はそれを減らします。 この場合、最適値は1472です。,

        別のメッセージが表示された場合は、目的の結果が得られるまで初期値を一つずつ減らす必要があります。

        MTU値がわかっている場合、特にこれが大規模または大都市圏のネットワークである場合には、ネットワークの動作を改善するために使用できます。

        レイヤ2でのPing(arpingを使用)

        pingコマンドを使用すると、ネットワーク内の特定のノードのIPアドレスを知っているテストを実行できます。 これは、pingコマンドがOSIモデル(ネットワーク)のレイヤ3で動作するためです。,

        一方、Linuxに組み込まれている別のコマンドをarpingとして使用することは可能です。 このコマンドはpingと非常によく似ていますが、OSIモデルのレイヤ2で動作します。

        コマンドの構文は次のとおりです。

        $ sudo arping 
        $ sudo arping 192.168.1.1

        このような結果が得られます。

        コマンドの画面出力には、最初に送信されたパケットのサイズ、次にノードのMACアドレスと応答時間が表示されます。

        このコマンドが設置されるデフォルトDebian Linuxおよびデリバティブ, したがって、それをインストールする必要があり、rootとして実行できます。

        Ping a hostname

        デフォルトでは、pingコマンドはIPアドレスまたは宛先のホスト名を使用して宛先にテストパケットを送信します。 Linux上のほとんどのping実装では、DNSを逆に解決しないことにも注意する必要があります。

        たとえば、Ipアドレスを追加してPingコマンドを使用すると、出力でホストのIPアドレスのみが返されます。 逆に、ホスト名を指定した場合、それはそれを解決し、出力にIPを表示します。,

        次のコマンドの出力を確認します。

        $ ping google.com

        Ping route(tracerouteを使用)

        pingコマンドは、送信元から宛先に到達するルートを表示しません。

        そして、これは、接続が失われた時点で理解できるので、ホストとの接続が失われた場合に非常に役立ちます。

        tracertまたはtracerouteコマンドは、pingコマンドと非常によく似た方法で動作します。 これの利点は、パケットが取るパスを示し、そのルートを示すことです。,

        pingコマンドのように、ほとんどのLinuxディストリビューションにインスト 基本的な構文は次のとおりです。

        traceroute 

        そうすれば、パケットが取っているルートを見ることができます。

        pingが失敗した場合にコマンドを実行する

        pingコマンドが失敗したときに警告を受けるとします。 これを行うには、必要な条件を設定するためにbashスクリプトにpingコマンドを組み込む必要があります。,

        #! /bin/bashping -c 1 If ; then #Your_command_hereFi

        pingパケットサイズを設定

        pingコマンドによってホストに送信されるパケットのデフォルトサイズは56バイトです。 これは、ネットワークの動作に影響を与えないように十分に低い値です。

        ただし、別の値に変更することは可能です。 これを行うには、目的のパケットサイズで-sオプションを追加するだけです。,

        例:

        ping -s hostname/IP

        パケットサイズを100バイトにする場合は、次のコマンドを使用します。

        ping -s 100 192.168.1.1

        MTUによって多少異なる場合があります。

        pingコマンドを無効にします

        ネットワークを維持する責任がある場合は、いつでもping応答を無効にすることができます。 私達は私達の必要性に従ってそれを、一時的にまたは永久にしてもいいです。,

        一時的に無効にしたい場合は、rootユーザーとしてこのコマンドを使用するだけで十分です。

        $ su$ echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

        これにより、pingコマンドの応答が無効になりますが、システムを再起動するまで有効になります。

        永久にやりたい場合は、次のファイルを編集する必要があります。

        /etc/sysctl.conf

        次の行を追加します。

        $ nano /etc/sysctl.conf
        net.ipv4.icmp_echo_ignore_all=1

        その後、ファイルを保存して終了します。, 変更を適用するには、次のコマンドを使用します。

        $ sysctl -p

        これにより、pingコマンドまたはICMPパケットの応答が無効になります。

        結論

        この記事では、linux上でpingコマンドがどのように機能するかを詳細に説明しました。 その有用性からそれを無効にするまで。 Pingは、使用する最も簡単なコマンドの一つです。

        これにより、ネットワークの運営責任者は問題がどこにあるかを知ることができるので、行動を起こすことができます。

        私はあなたがポストが役に立つことを願っています。 戻ってくるんだ

        ありがとうございます。,

        LikeGeeksの創設者です。 私は2010年以来Linuxシステム管理者として働いています。 私は当社で責任を確保、およびトラブルシューティングLinuxサーバを複数のクライアントの世界です。 私は書面でシェルおよびPythonスクリプト自動化しています。