動かして学ぶネットワークコマンド
ネットワークスペシャリストになるためには紙ベースでの学習だけでなく、実際に手を動かし実機で動作確認することも大切です。生のデータに触れることで一層ネットワークへの理解が深まります。このシリーズでは実際にネットワークコマンドを実行し、そのデータをパケットキャプチャソフト(WireShark)で確認することでネットワークへの知識をより深めていきます。
第一弾 pingコマンド
今回は第一弾として最も代表的なping(ピング)コマンドについて学習しましょう。
pingって何をするの?
pingは通信相手との疎通を確認するコマンドです。疎通を取りたい端末(PC_B)に対してICMP Echo Requestを送信し、受け取った端末(PC_B)がICMP Echo Replyを返すことで疎通の確認をしています。ICMP Echo Replyが返ってこないとエラーとなり疎通がとれていないことがわかります。
ネットワークの現場で端末同士で通信できなくなったとき、まずpingコマンドで疎通確認するなんてことが多いと思います。
私の経験上pingが通らない原因として多いのが以下の4点です。
- 疎通確認したい端末の電源が入っていない。
- 疎通確認したい端末のファイアウォールが有効でありping応答を返さない。
- 疎通確認したい端末のIPが競合している。
- 疎通先までのネットワーク経路に問題がある
ちなみに私は入社直後、2項が原因でpingが通らなく苦労しました。ファイアウォールはデフォルト設定でpingに応答しない設定になっていることに気づくまで時間がかかりました。
pingコマンドを打ってみよう
pingの理解ができたところで実際にコマンドプロンプトを立ち上げpingコマンドを打ってみましょう。
<コマンドプロンプト起動方法>
- キーボードで「Windowsキー」を押しながら「R」を押す
- 「ファイル名を指定して実行」のウインドウが立ち上がるので「cmd」と入力しエンターを押す (「Ctrl」と「shift」を押しながらエンターで管理者モードで起動することもできます。)
コマンドプロンプトが立ち上がったらpingを打ってみましょう。ここではwww.yahoo.co.jp(182.22.25.124)にpingを送信してみます。結果は以下のようになりました。
182.22.25.124から応答がありpingコマンドが成功したことがわかります。
WireShaekで見てみよう
コマンドプロンプトからpingを打ったときのパケットをWireSharkでキャプチャした結果が以下です。※ICMPでフィルタをかけています。
192.168.43.139(私のPC)から182.22.25.124(www.yahoo.co.jp)にICMP Echo requestが送信され、その後182.22.25.124(www.yahoo.co.jp)から192.168.43.139(私のPC)にICMP Echo Replyが返ってきているのがわかると思います。pingコマンドは4回疎通確認を行いますので、WireSharkでもICMP Echo RequestとICMP Echo Replyを4回確認できますね。
データの中身を見てみよう
<Echo Request>
以下はICMP Echo Requestのパケットの中身です。pingのプロトコルはICMPであることがわかります。またEcho Requestのtypeは8であることもわかります。
<Echo Reply>
以下はICMP Echo Replyパケットの中身です。Echo Replyのtypeは0であることがわかります。
コメント