【Linux/コマンド】hping3の使い方(インターネットへの接続を確認する)

こんにちは、Aireです。

hping3は任意のTCP/IPパケットを送信し、ターゲットからの応答をpingのように表示できるネットワークツール(コマンド)です。

今回はこのhping3を使用して、ログイン中のLinuxサーバがインターネットに接続されているか確認する方法を紹介します。

基本的にこの手の確認はpingが使えれば十分なのですが、環境の都合上、pingが通らない(ICMP通信ができない)ケースがあり、代替手段としてhping3を使用しましたので、使い方を備忘録として残しておきます。

目次

検証環境

今回は以下のLinux環境を使用し、hping3を試しました。

  • OS:Red Hat Enterprise Linux release 8.2 (Ootpa)(cat /etc/redhat-release)
  • Kernel:4.18.0-193.75.1.el8_2.x86_64(uname -r)

hping3をインストールする

hping3のインストール手順を記載します。大まかな流れとしては、はじめにEPELリポジトリをインストール後、リポジトリからhping3のインストールを行います。

  1. 「dnf install」コマンドを実行し、LinuxサーバにEPELリポジトリをインストールします。

実行方法

$ dnf –y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

実行例

  1. 「dnf update」コマンドを実行し、システムを更新します。

実行方法

$ dnf –y update

実行例

  1. 以下のコマンドを実行し、LinuxサーバにEPELリポジトリがインストールされたことを確認します。

実行方法

$ rpm -qa | grep -i epel

実行例

  1. 「dnf install」コマンドを実行し、EPELリポジトリからhping3ソフトウェアパッケージをインストールします。

実行方法

$ dnf -y –enablerepo=”epel” install hping3

実行例

hping3を使用してインターネット接続を確認する

ここではhping3の簡単な使い方を紹介します。詳細は「man hping3」または「hping3 –help」を確認してください。

以下の例では、yahoo.co.jpの443番ポート(-p 443)にSYNパケット(-S)を4回(-c 4)送信し、いずれも応答が返ってきています。(SYNパケットは、TCPで接続を確立する際に送信するパケットのことです)

以下の例では、タイムスタンプオプション(–tcp-timestamp)を追加し、GoogleのパブリックDNSサービス(8.8.8.8)の53番ポートにSYNパケットを1回送信し、いずれも応答が返ってきています。

以下の例では、GoogleのパブリックDNSサービスの53番ポートにSYNパケットを3回、5秒のインターバル(-i 5)をおいて送信し、いずれも応答が返ってきています。

以上、ここまで。

この記事を書いた人

目次