【Linux】ping, nping, tracerouteで通信の状態を確認する

Linux

Linuxでの通信状態を確認するコマンド、ping、nping、tracerouteの使い方、詳細等をまとめました。

ping

pingは、自端末から宛先のIPアドレス(ホスト名)までの通信が可能であるかを確認するコマンドです。

pingコマンドの詳細な使い方はman pingコマンドをLinuxで実行して確認します。

man ping

Linuxでは、pingコマンドをオプションをつけずに実行した場合、Ctrl+Cで中断するまで疎通確認が継続されます。(Windowsではオプションをつけない場合は5回確認を実施する)

ping <IPアドレスもしくはホスト名>

pingの引数にはIPアドレスだけでなく、/etc/hostsに記載したホスト名を引数にすることもできます。

回数を指定するには以下のように-cオプションで回数を指定します。

ping -c <実行回数> <IPアドレスもしくはホスト名>

pingコマンドの実行例

Red Hat Enterprise Linux 9.6で自身に対してpingコマンドを実行した実行結果を掲載します。

[root@RHEL96 ~]# ping localhost
PING localhost(localhost (::1)) 56 data bytes
64 バイト応答 送信元 localhost (::1): icmp_seq=1 ttl=64 時間=0.141ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=2 ttl=64 時間=0.135ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=3 ttl=64 時間=0.066ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=4 ttl=64 時間=0.066ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=5 ttl=64 時間=0.072ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=6 ttl=64 時間=0.058ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=7 ttl=64 時間=0.058ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=8 ttl=64 時間=0.058ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=9 ttl=64 時間=0.066ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=10 ttl=64 時間=0.058ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=11 ttl=64 時間=0.055ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=12 ttl=64 時間=0.059ミリ秒
^C
--- localhost ping 統計 ---
送信パケット数 12, 受信パケット数 12, 0% packet loss, time 11273ms
rtt min/avg/max/mdev = 0.055/0.074/0.141/0.028 ms

ping -c <回数>でpingでの確認回数を指定してみる

Linuxのpingコマンドは、-cオプションをつけることで回数を指定できます。今回は以下のコマンドで5回だけ確認してみます。

[root@RHEL96 ~]# ping -c 5 localhost
PING localhost(localhost (::1)) 56 data bytes
64 バイト応答 送信元 localhost (::1): icmp_seq=1 ttl=64 時間=0.066ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=2 ttl=64 時間=0.060ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=3 ttl=64 時間=0.077ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=4 ttl=64 時間=0.059ミリ秒
64 バイト応答 送信元 localhost (::1): icmp_seq=5 ttl=64 時間=0.055ミリ秒

--- localhost ping 統計 ---
送信パケット数 5, 受信パケット数 5, 0% packet loss, time 4116ms
rtt min/avg/max/mdev = 0.055/0.063/0.077/0.007 ms
[root@RHEL96 ~]#

npingはポート番号での通信を確認できる

npingは特定のIPアドレスまでの通信が可能であるかということに加えて、特定のポート番号での通信が可能かどうかを確認するコマンドです。

詳細な使い方はnpingのマニュアルページをLinux上で確認します。

man nping

npingコマンドがインストールされていない場合はnmapをインストールすることでnpingコマンドを使えます。

yum install nmap

npingコマンドの実行例

RHEL9.6 でlocalhostにnpingコマンドを実行した実行結果を掲載します。

[root@RHEL96 ~]# nping localhost

Starting Nping 0.7.92 ( https://nmap.org/nping ) at 2025-10-29 23:12 JST
SENT (0.0087s) ICMP [127.0.0.1 > 127.0.0.1 Echo request (type=8/code=0) id=4413 seq=1] IP [ttl=64 id=17614 iplen=28 ]
RCVD (0.0090s) ICMP [127.0.0.1 > 127.0.0.1 Echo reply (type=0/code=0) id=4413 seq=1] IP [ttl=64 id=41738 iplen=28 ]
SENT (1.0093s) ICMP [127.0.0.1 > 127.0.0.1 Echo request (type=8/code=0) id=4413 seq=2] IP [ttl=64 id=17614 iplen=28 ]
RCVD (1.0097s) ICMP [127.0.0.1 > 127.0.0.1 Echo reply (type=0/code=0) id=4413 seq=2] IP [ttl=64 id=42219 iplen=28 ]
SENT (2.0109s) ICMP [127.0.0.1 > 127.0.0.1 Echo request (type=8/code=0) id=4413 seq=3] IP [ttl=64 id=17614 iplen=28 ]
RCVD (2.0114s) ICMP [127.0.0.1 > 127.0.0.1 Echo reply (type=0/code=0) id=4413 seq=3] IP [ttl=64 id=43090 iplen=28 ]
SENT (3.0128s) ICMP [127.0.0.1 > 127.0.0.1 Echo request (type=8/code=0) id=4413 seq=4] IP [ttl=64 id=17614 iplen=28 ]
RCVD (3.0132s) ICMP [127.0.0.1 > 127.0.0.1 Echo reply (type=0/code=0) id=4413 seq=4] IP [ttl=64 id=43686 iplen=28 ]
SENT (4.0144s) ICMP [127.0.0.1 > 127.0.0.1 Echo request (type=8/code=0) id=4413 seq=5] IP [ttl=64 id=17614 iplen=28 ]
RCVD (4.0147s) ICMP [127.0.0.1 > 127.0.0.1 Echo reply (type=0/code=0) id=4413 seq=5] IP [ttl=64 id=44202 iplen=28 ]

Max rtt: 0.414ms | Min rtt: 0.221ms | Avg rtt: 0.300ms
Raw packets sent: 5 (140B) | Rcvd: 5 (140B) | Lost: 0 (0.00%)
Nping done: 1 IP address pinged in 4.03 seconds

ポート番号22/TCP(SSH)をnpingコマンドで通信の疎通を確認する

以下のコマンドで、ポート番号22/TCPの通信の疎通確認を行った結果を掲載します。

[root@RHEL96 ~]# nping localhost --tcp -p 22

Starting Nping 0.7.92 ( https://nmap.org/nping ) at 2025-10-29 23:13 JST
SENT (0.0077s) TCP 127.0.0.1:30664 > 127.0.0.1:22 S ttl=64 id=15994 iplen=40  seq=3305787242 win=1480
RCVD (0.0081s) TCP 127.0.0.1:22 > 127.0.0.1:30664 SA ttl=64 id=0 iplen=44  seq=3085334930 win=65495 <mss 65495>
SENT (1.0083s) TCP 127.0.0.1:30664 > 127.0.0.1:22 S ttl=64 id=15994 iplen=40  seq=3305787242 win=1480
RCVD (1.0086s) TCP 127.0.0.1:22 > 127.0.0.1:30664 SA ttl=64 id=0 iplen=44  seq=3100968644 win=65495 <mss 65495>
SENT (2.0099s) TCP 127.0.0.1:30664 > 127.0.0.1:22 S ttl=64 id=15994 iplen=40  seq=3305787242 win=1480
RCVD (2.0106s) TCP 127.0.0.1:22 > 127.0.0.1:30664 SA ttl=64 id=0 iplen=44  seq=3116622903 win=65495 <mss 65495>
SENT (3.0118s) TCP 127.0.0.1:30664 > 127.0.0.1:22 S ttl=64 id=15994 iplen=40  seq=3305787242 win=1480
RCVD (3.0122s) TCP 127.0.0.1:22 > 127.0.0.1:30664 SA ttl=64 id=0 iplen=44  seq=3132274247 win=65495 <mss 65495>
SENT (4.0136s) TCP 127.0.0.1:30664 > 127.0.0.1:22 S ttl=64 id=15994 iplen=40  seq=3305787242 win=1480
RCVD (4.0141s) TCP 127.0.0.1:22 > 127.0.0.1:30664 SA ttl=64 id=0 iplen=44  seq=3147926490 win=65495 <mss 65495>

Max rtt: 0.372ms | Min rtt: 0.209ms | Avg rtt: 0.286ms
Raw packets sent: 5 (200B) | Rcvd: 5 (220B) | Lost: 0 (0.00%)
Nping done: 1 IP address pinged in 4.03 seconds

tracerouteは通信経路を確認できる

tracerouteは特定のIPアドレスまでの通信を行う際に、どのIPアドレスを経由して通信を行うかを確認するコマンドです。

Red Hat Enterprise Linux 9.6でのtracerouteコマンドを使えるようにするためのインストール作業については以下の記事で証跡をまとめています。

tracerouteの実行例

Red Hat Enterprise Linux 9.6でのtracerouteコマンドの実行例を掲載します。

[root@RHEL96 ~]# traceroute localhost
traceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
 1  localhost (127.0.0.1)  0.122 ms  0.026 ms  0.009 ms

Windowsでの通信疎通確認

以下の記事でWindowsでの通信疎通確認方法をまとめました。

タイトルとURLをコピーしました