このセクションでは自宅サーバーとしてLinuxを操作するうえでよく使うコマンドについて初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
抜粋Linuxコマンドリファレンス

ディレクトリとファイルの操作+

ディスクとパーティションの操作+

テキストの操作+

ユーザーとアカウント管理+

ネットワークの管理

ネットワークの状態を調べる
名前解決をテストする
ドメイン名の情報を調べる

システム・プロセス管理+

その他のコマンド+


ping〜ネットワーク上のホストを調査する

ネットワーク上の ホスト パケット を送り、そのホストから返ってきたパケットを調べることで、ネットワーク上のホストの存在や状況を手っ取り早く調べる コマンド です。

この ping コマンドで使用されるパケットは、 TCP/IP の通信状態の確認のために準備されている "ICMPパケット" を利用しますから、高い信頼性と安全性をもって調査することができます。

pingコマンドは LinuxOS を含む UNIX OS のほとんどに標準で実装されています。また、大部分の WindowsOS MacOSX にも実装されています。

ただ、pingコマンドはOS毎に少しずつ書式や振る舞いが異なりますので注意してくだい。

コマンドの一般書式は、

ping [ IPアドレス または ホスト名 ] [オプション] Enter

です。

「ネットワークが繋がっているかどうか」を調べるだけであれば、オプションは不要です。単純に、

ping [IPアドレスまたはホスト名] Enter

と実行します。

"IPアドレス" には、 サブネット 内の プライベートIPアドレス 、インターネット空間の任意の グローバルIPアドレス が指定できます。

[tanaka@web1 ~]$ ping 192.168.100.1Enter
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=0 ttl=64 time=0.602 ms
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.444 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.443 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.599 ms
 適当なところでCtrl+cを押します。

--- 192.168.100.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3013ms
rtt min/avg/max/mdev = 0.443/0.522/0.602/0.078 ms, pipe 2
[tanaka@web1 ~]$ プロンプトに戻ります。

オプションを何も指定しない場合 ping コマンドは通信の状態に応じた適切な条件で送信するパケットの条件を決め、 Ctrl + c を押すまで延々とパケットを送りつづけます。

決まった回数のパケットを送ったら ping の動作を停止するように実行するには、 "-c" オプションを使います。

ping [ IPアドレス または ホスト名 ] -c [パケットを送る回数] Enter

[tanaka@web1 ~]$ ping 192.168.100.1 -c 4Enter
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=0 ttl=64 time=0.602 ms
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.444 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.443 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.599 ms

--- 192.168.100.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3013ms
rtt min/avg/max/mdev = 0.443/0.522/0.602/0.078 ms, pipe 2
[tanaka@web1 ~]$ 自動でプロンプトに戻ります。

"ホスト名" には、名前解決可能なサブネット内のホスト名や、インターネット空間の FQDN が指定できます。

ただ、公のホストの中には、 セキュリティ の観点からICMPパケットの受信を拒否しているところがあります。

当然、そういうホストはpingコマンドで通信状態を確認することができませんから、公の サーバー に対してpingコマンドを実行するときは、「通信できない状態」と勘違いしないようにしてください。

[tanaka@web1 ~]$ ping www.nhk.or.jpEnter
PING www.nhk.or.jp (202.214.202.101) 56(84) bytes of data.
64 bytes from www.nhk.or.jp (202.214.202.101): icmp_seq=0 ttl=242 time=193 ms
64 bytes from www.nhk.or.jp (202.214.202.101): icmp_seq=1 ttl=242 time=138 ms
64 bytes from www.nhk.or.jp (202.214.202.101): icmp_seq=2 ttl=242 time=198 ms
 適当なところでCtrl+cを押します。

--- www.nhk.or.jp ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2022ms
rtt min/avg/max/mdev = 138.314/176.833/198.716/27.321 ms, pipe 2
[tanaka@web1 ~]$ プロンプトに戻ります。

このように、 "time=" にきちんと数値が表示されれば、こちらから送信したパケットに対する返答が、相手のホストから返ってきていることになります。つまり「お互いに通信可能な状態にある。」と考えてよいことになります。

しかし、 ping コマンドを実行して、数秒経っても返答が返ってこない場合や、 "Destination Host Unreachable" というメッセージが表示される場合は、パケットを送る相手が存在しないか、あるいは存在していても極めて通信状態が悪いか、そのどちらかと判断していいでしょう。

また、通信状態に特に問題がない場合は、上の例のように送ったパケットに対して必ず返答が返ってくるのはずです。

しかし、通信状態が安定ではない場合などは、送ったパケットに対して返答が一部返ってこないことがあります。

[tanaka@web1 ~]$ ping www.nhk.or.jpEnter
PING www.nhk.or.jp (202.214.202.101) 56(84) bytes of data.
64 bytes from www.nhk.or.jp (202.214.202.101): icmp_seq=0 ttl=242 time=242 ms
64 bytes from www.nhk.or.jp (202.214.202.101): icmp_seq=1 ttl=242 time=194 ms
64 bytes from www.nhk.or.jp (202.214.202.101): icmp_seq=3 ttl=242 time=226 ms
64 bytes from www.nhk.or.jp (202.214.202.101): icmp_seq=4 ttl=242 time=168 ms
 2回目に送ったパケット"icmp_seq=2"の返答がないことがわかります。

--- www.nhk.or.jp ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 8439ms
 「5パケットを送って4パケットを受信。20%をロスしました。所要時間8439msです。」
rtt min/avg/max/mdev = 168.182/207.878/242.056/28.671 ms, pipe 2
[tanaka@web1 ~]$

ただしこの現象は、例えばパケットを送受信する ホスト機 のいずれかが別のパケットを大量に処理しているときなどによく起こることなので、直ちに異常と決め付けることはできません。

また、 "time=" で示される値は、返答があるまでの時間をミリ秒で示したものですが、 LAN 内では10ms以下、 FTTH や高速な ADSL CATV などでは数十ms以下、低速な通信環境でも300ms以下が正常な値のおおよその目安になります。

これが異常に大きな値を示すとき、あるいはばらつきが大きいときは、通信機器や経路に問題があるかもしれません。

ところで、 ping コマンドはIPアドレスに対して機能しますから、ホスト名を指定して ping コマンドを実行する場合、そのホスト名が 名前解決 できない場合は、 "unknown host [ホスト名]" と表示されてコマンドは実行されませんので注意してください。

ping コマンドは、例えば送信するパケットの長さや経路を指定して実行することが可能ですから、単純にホストの応答状態だけではなく物理的な通信状態の調査をすることが可能です。

ただし実際に個人レベルでそのようなオプションを利用する必要はまずないでしょう。

ifconfig〜ホスト機上のNIC情報の確認と変更

ホスト機 上で有効な NIC の情報を表示したり、変更したりする コマンド です。

root アカウント で実行する必要があります。

WBEL CentOS など多くの LinuxOS でのNICの設定は、 "/etc/sysconfig/network-scripts/" 以下に "ifcfg-*" という テキストファイル として納められています WBEL3のネットワーク設定について CentOS3のネットワーク設定について WBEL4のネットワーク設定について CentOS4のネットワーク設定について CentOS5のネットワーク設定について

ifconfigコマンドを実行すると、この設定ファイルの内容によって稼働中のNICについて、そのパラメータと状態を解りやすく閲覧することができます。

コマンドの一般書式は、

ifconfig [NICの名前] [オプション] Enter

です。

「NICの名前」と[オプション]を省略すると、現在動作中のすべてのNICの情報を表示します。

[root@web1 ~]# ifconfigEnter
eth0   Link encap:Ethernet HWaddr [ MACアドレス が表示されます]
     inet addr:192.168.100.3 Bcast:192.168.100.255 Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:32670088 errors:0 dropped:0 overruns:0 frame:0
     TX packets:33796696 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:2728306767 (2601.9 Mb) TX bytes:2760698909 (2632.8 Mb)

lo    Link encap:Local Loopback
     inet addr:127.0.0.1 Mask:255.0.0.0
     UP LOOPBACK RUNNING MTU:16436 Metric:1
     RX packets:22580 errors:0 dropped:0 overruns:0 frame:0
     TX packets:22580 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0
     RX bytes:2413164 (2.3 Mb) TX bytes:2413164 (2.3 Mb)

[root@web1 ~]# ifconfig eth0Enter ←"eth0"のみ表示します
eth0   Link encap:Ethernet HWaddr [MACアドレスが表示されます]
     inet addr:192.168.100.3 Bcast:192.168.100.255 Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:32670088 errors:0 dropped:0 overruns:0 frame:0
     TX packets:33796696 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:2728306767 (2601.9 Mb) TX bytes:2760698909 (2632.8 Mb)

[root@web1 ~]#

表記は英語ですが、意味は大体おわかりと思います。主要なパラメータの意味については TCP/IPのパラメータについて1 TCP/IPのパラメータについて2 を参考にしてください。

ちなみに RX 受信 TX 送信 を意味しますが、errorやdroppedなど、上の例で値が0になっているところに何らかの値が見られるときはNICの不具合が考えられます。

こういう場合は設定の見直しやNICの交換などが必要になることがあります。

なお、ifconfigコマンドは適当なオプションを与えると設定を直接変更することが可能ですが、同じことは設定ファイルの書き換えでも可能ですので説明は割愛します。

NEC「得選街」
このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。また、本サイトの更新情報をメールで知らせてほしい方は ここ からご登録ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System