実験1 よく使われるネットワークコマンド
1、実験の目的
- LinuxのコマンドラインとWindowsのコマンドラインの使用を理解する
- よく使われるネットワークコマンドの基本的な使い方に慣れる
- 基づく
ping、ifconfig、traceroute、arp、netstatネットワーク状態分析と測定技術を習得する
2、実験環境
- ハードウェア要件:Alibaba Cloud の ECS を1台。
- ソフトウェア要件:Linux/ Windows OS
3、実験内容
3.1 pingの基本的な使い方
pingコマンドを使用してネットワークの到達性をテストします。これにより、ネットワークが正しく接続されているか、ネットワーク接続の状況を確認するのに非常に役立ちます。pingが正しく動作している場合、大まかに言ってネットワークアクセス層、NIC、モデムの入出力線、ケーブル、ルータなどの故障を排除でき、問題の範囲を絞り込むことができます。
ping -c 4 www.baidu.comping -c 4 166.111.4.1003.2 ifconfig/ipconfig(Windows)の基本的な使い方
ifconfig実用プログラムは、現在のTCP/IP設定値を表示するために使用されます。これらの情報は、手動で設定したTCP/IP設定が正しいかどうかを検証するのに一般的に用いられます。
ifconfigifconfig eth03.3 tracerouteの基本的な使い方
tracerouteコマンドを使用してルーティング状況を測定します。つまり、データパケットが目的のホストに到達するまでに経由する経路を表示するためのものです。
traceroute www.sohu.comtraceroute 166.111.4.1003.4 ARPの基本的な使い方
ARPはTCP/IPプロトコル群の重要なプロトコルで、対応するIPアドレスのネットワークカード物理アドレスを特定するために使用されます。arpコマンドを使用すると、ローカルコンピュータまたは別のコンピュータのARPキャッシュの現在の内容を表示できます。
arp –aarp -i eth03.5 netstatの基本的な使い方
netstatコマンドは、アクティブなTCP接続、コンピュータがリッスンしているポート、Ethernetの統計情報を表示できます。netstatはアクティブなTCP接続を表示します。
netstat –anetstat -t4、実験結果と分析
4.1 pingの基本的な使い方
ping -c 4 www.baidu.comping -c 4 166.111.4.100
image-20220409224423767
Ping は TCP/IP ネットワーク階層のアプリケーション層のサービスコマンドで、主に特定の宛先ホストへ ICMP(Internet Control Message Protocol / インターネット制御メッセージプロトコル)Echo 要求パケットを送信し、宛先が到達可能かどうかと関連状態を把握するために使用されます。ネットワークの到達性テストでは、ping は ICMP のエコー要求とエコー応答を生成します。宛先ホストが ICMP のエコー要求パケットを受信すると直ちに応答パケットを返します。送信元ホストが ICMP のエコー応答を受け取れる場合、宛先ホストへ到達したネットワークは正常であることを示します。
Linux で使用できるオプション -c は、送信(または受信)されるエコー要求の数を指定します。ここでは www.baidu.com と 166.111.4.100 が到達可能かどうかをテストします。スクリーンショットには、4つのデータパケットがすべて正常に受信され、損失がないことが示され、ネットワークが通り、ホスト www.baidu.com および 166.111.4.100 は到達可能で、平均往復時間はそれぞれ 10.105 ms と 31.997 ms です。
4.2 ifconfig/ipconfig(Windows)の基本的な使い方
ifconfigifconfig eth0
image-20220409230049094
ipconfig は Windows 系統でネットワーク設定情報を表示するコマンドです。Windows の ipconfig ユーティリティは、現在の TCP/IP 設定を表示するために使用できます。これらの情報は、手動で設定した TCP/IP 設定が正しいかどうかを検証するために一般的に用いられます。
ifconfig は Linux 系統でネットワーク設定情報を表示または設定するためのコマンドです。ifconfig はネットワークインタフェースを表示、設定、有効化または無効化するために使用される非常に一般的なツールで、システム起動時に必要なネットワークインタフェースパラメータを設定するために用いられます。このツールを使って NIC の IP アドレス、サブネットマスク、ブロードキャストアドレス、ゲートウェイなどを一時的に設定することができます。また、それをファイルに書き込むこともできます(例えば /etc/rc.d/rc.local)、そうすればシステム起動後にそのファイルを読み込み、NIC に IP アドレスを設定します。
ifconfig はネットワークデバイス情報を表示でき、ifconfig eth0 は最初のネットワークカードである eth0 のみの情報を表示します。ここではホストのネットワークデバイス情報を確認したところ、最大転送単位は 1500、NIC の IP アドレスは 172.16.2.6、ブロードキャストアドレスは 172.16.2.255、マスクは 255.255.255.0 が見えます。
一方、lo はホストのループバックアドレスを表します。通常はネットワークプログラムのテストに用い、LAN 内部または外部のユーザーには閲覧させず、このホスト上でのみ実行・確認します。例えば HTTPD サーバをループバックに割り当て、ブラウザに 127.0.0.1 と入力すると、構築した Web サイトを閲覧できます。ただし、閲覧できるのは自分だけで、LAN 内の他のホストやユーザーには分かりません。
4.3 tracerouteの基本的な使い方
traceroute www.sohu.comtraceroute 166.111.4.100traceroute www.xju.edu.cntraceroute www.xju.edu.cn -T
image-20220409232055284
Linux の traceroute コマンドは、データパケットがホスト間を通る経路を表示します。traceroute コマンドはネットワークデータパケットのルーティング経路を追跡します。デフォルトのパケットサイズは 40Bytes、ユーザーは別途設定できます。
Traceroute の設計は ICMP および IP ヘッダの TTL(Time To Live)フィールドを利用します。まず、traceroute は TTL が 1 の IP データグラムを目的地へ送信します。経路上の最初のルータがこのデータグラムを受信すると TTL を1減らします。TTL が 0 になるため、そのルータはこのデータグラムを破棄し、ICMP time exceeded メッセージを返します。traceroute がこのメッセージを受け取ると、このルータがこの経路上に存在することを知り、次に TTL が 2 のデータグラムを送信して 2 番目のルータを発見します……traceroute は送信するデータグラムの TTL を毎回 1 増やして次のルータを発見します。この繰り返しは、データグラムが目的地に到達するまで続きます。
当Tracerouteが UDP データグラムを目的地へ送信する際、宛先ポート番号は一般的なアプリケーションが使用しない番号(30000 以上)を選択します。したがって、この UDP データグラムが目的地に到達すると、そのホストは ICMP Port Unreachable のメッセージを返します。Traceroute がこのメッセージを受け取ると、目的地へ到達したことを知ることになります。したがって、Traceroute はサーバ側にも Daemon プログラムが存在しません。
Traceroute は ICMP TTL 到達メッセージを送信先の IP アドレスを抽出してドメイン名解決を行います。毎回、Traceroute は一連のデータを表示し、経由したルータのドメイン名と IP アドレス、3 パケットの往復に要する時間を表示します。
ここでは traceroute の最も基本的で一般的な方法 traceroute hostname を使用して、ホストから www.baidu.com および 166.111.4.100 への経路を測定します。図では、レコードがシリアル番号1から開始され、各レコードは1跳を表します。各跳は1つのゲートウェイを表し、各行の3つの時間は ms 単位で、各ゲートウェイへデータパケットを3つ送信して応答を受け取るのに要した時間を示します。さらに、後半の行が星印で表示されることがあります。このような場合、ファイアウォールが ICMP の返答情報をブロックしている可能性があり、関連するデータパケットの返却データを得られません。-T オプションは TCP SYN による探査を意味します。
4.4 ARPの基本的な使い方
arp –aarp -i eth0
image-20220409233845980
ARPは TCP/IP プロトコル群の重要なプロトコルで、対応する IP アドレスのネットワークカード物理アドレスを特定するために使用されます。arp コマンドを使用すると、ARP キャッシュ表を表示・変更できます。ARP キャッシュには、IP アドレスとその解決済みのEthernet または Token Ring 物理アドレスを格納した1つ以上の表が含まれます。本質的には、IP アドレスと MAC アドレスが対応する表です。
arp コマンドは Linux で使用されるオプション -a は、すべてのインタフェースの ARP キャッシュ表を表示します(コンピュータに搭載された各 Ethernet または Token Ring ネットワークアダプタには、それぞれ独立したテーブルがあります)。arp -i eth0 は、指定デバイスの ARP キャッシュを表示できます(つまり eth0 の ARP キャッシュです)。HWaddress は現在の eth0(1 番目のネットワークカード)の物理アドレスが ee:ff:ff:ff:ff:ff であることを示します。
4.5 netstatの基本的な使い方
netstatコマンドは、アクティブなTCP接続、コンピュータがリッスンしているポート、Ethernetの統計情報を表示できます。netstatはアクティブなTCP接続を表示します。
netstat –anetstat -t
image-20220410000001138

image-20220410000017070
Netstatはコマンドラインのツールで、TCP/IP ネットワークを監視するのに非常に有用です。ルーティングテーブル、実際のネットワーク接続、および各ネットワークインタフェースデバイスの状態情報を表示します。Netstatは IP、TCP、UDP、ICMP プロトコルに関連する統計データを表示するために用いられ、一般的にはローカルマシンの各ポートのネットワーク接続状況を検証するのに用いられます。
netstatコマンドは Linux で使用されるオプション -a により、現在のすべての接続をリストします。上図では、前述のコマンドが tcp、udp、unix プロトコルのすべてのソケット接続を列挙し、デフォルトでは LISTEN 関連を表示しません。一方、netstat -t ではホストは tcp 関連のみを表示できます。
5、実験のまとめ
5.1 問題と解決策
traceroute コマンドを使用するとき、-bash: traceroute: command not found というエラーが発生する。解決方法は yum install traceroute コマンドを実行して traceroute をインストールします。 Windows 10 で ping -c 4 www.baidu.com コマンドを実行するとエラーになる。解決方法は ping /? コマンドで ping コマンドの使い方を参照し、-n オプションでリクエスト数を設定する必要があることが分かりました。
5.2 感想
- 本実験レポートは、よく使われるネットワークコマンドの習熟を完成させ、授業で学んだ知識の検証を実現しました。今回の実験を通じて、私は Linux のターミナルのコマンドラインの使用法を身につけ、よく使われるネットワークコマンドの基本的な使い方を理解し、自己のプログラミング能力を向上させました。
- Linux と Windows 環境では、同じ機能のソフトウェアでも、パラメータが異なる場合があることを認識しました。測定を行う際には、ヘルプを参照して正しくパラメータオプションを設定してください。
- これらのよく使われるネットワークコマンドの操作を通じて、ネットワークの異なる層のハードウェア・ソフトウェアのさまざまな側面を操作し、授業で学んだ知識を裏付けることができました。
この記事が役に立ったときは、ぜひ他の人に共有してください!
一部の情報は古い可能性があります





