本ページの読み方
単なるオプション一覧ではなく、「そのオプションをどんな場面で使うか」を基準に整理しています。トラブルシュートの基本手順(疎通確認 → 経路確認 → 通信状況確認 → 名前解決確認 → 自身の設定確認)の順に並べているため、上から順に確認していくと切り分けが進む構成です。
目次
1. ネットワークの基本的な疎通確認(ping)
対象の機器がネットワーク上で稼働しているか(死活状態)、また応答時間(遅延)を確認します。
Windows:ping
| オプション | 値の例 | どんな時に使うか |
|---|---|---|
-t | - | ネットワーク機器の再起動後など、継続的に疎通状態を監視したい時 |
-n | 10 | 通常4回よりも多い回数で、より正確な平均応答時間やパケットロス率を測定したい時 |
-l | 1500 | 特定のパケットサイズで通信テストをしたい時。MTUを超えるような大きなサイズのパケットを送信し、通信経路上の問題を調査する場合 |
-f | 1472 | 経路上でのパケット分割(フラグメンテーション)を許可せずに通信テストしたい時。Path MTU Discoveryを手動で行う際に-lと組み合わせて使う |
-w | 1000(ミリ秒) | 応答が遅いネットワーク環境で、タイムアウトまでの時間をデフォルトより長く設定したい時 |
-a | - | IPアドレスからホスト名を逆引きで確認したい時 |
-4 | - | IPv4で強制的に通信を行いたい時 |
-6 | - | IPv6で強制的に通信を行いたい時 |
Linux/macOS:ping
| オプション | 値の例 | どんな時に使うか |
|---|---|---|
-c | 10 | Windowsの-nと同様、指定回数だけpingを実行したい時。Linuxはデフォルトで無制限に実行されるため、回数指定が一般的 |
-s | 1500 | Windowsの-lと同様、特定のパケットサイズで通信テストをしたい時 |
-i | 5(秒) | pingの送信間隔を調整したい時。ネットワークに負荷をかけずに長時間監視したい場合 |
-w | 2(秒) | 応答を待つタイムアウト時間を秒単位で指定したい時 |
-I | eth1 | 複数のNICを持つ機器で、特定のインターフェースから送信したい時 |
-f | - | ネットワークに高い負荷をかけて、パフォーマンスや耐久性をテストしたい時 |
単位の違いに注意
Windowsの-wはミリ秒、Linuxの-wは秒です。混同するとタイムアウト設定を1000倍間違えます。
2. 通信経路の確認(tracert / pathping / traceroute)
指定したホストまでの経路を特定し、経由するルーターのIP・ホスト名、区間ごとの応答時間を表示します。
Windows:tracert
| オプション | 値の例 | どんな時に使うか |
|---|---|---|
-d | - | 経路上のルーターIPをホスト名に変換する処理を省略し、早く結果を表示させたい時 |
-h | 50 | デフォルトの最大ホップ数(30)を変更したい時。遠い宛先で30ホップを超える場合や、近距離調査で早く終えたい場合 |
-w | 500(ミリ秒) | 応答が遅い環境で、タイムアウトまでの待ち時間をデフォルト(4000ms)から変更したい時 |
-4 | - | IPv4/IPv6両対応ホストに対し、強制的にIPv4で調査したい時 |
-6 | - | IPv6環境で、IPv6の経路を調査したい時 |
Windows:pathping(pingとtracertを組み合わせた高度な分析ツール)
| オプション | 値の例 | どんな時に使うか |
|---|---|---|
-n | - | 各ホップの名前解決が不要な時。診断を少しでも早く開始したい時 |
-h | 50 | 調査ホップ数をデフォルト30から変更したい時。経路の見当がついていて範囲を限定したい場合 |
-q | 50 | 重要オプション。各ホップへの問い合わせ回数を変更したい時。デフォルト100回は時間がかかりすぎるため、20〜50回程度に減らして調査時間を短縮するのによく使う |
-p | 500(ミリ秒) | 問い合わせ送信間隔をデフォルト(250ms)から変更したい時。ネットワーク負荷を調整したい場合 |
-w | 500(ミリ秒) | 応答が遅い環境で、タイムアウトまでの待ち時間をデフォルト(3000ms)から変更したい時 |
-4 | - | IPv4で強制的に経路調査したい時 |
-6 | - | IPv6で強制的に経路調査したい時 |
Linux/macOS:traceroute
| オプション | 値の例 | どんな時に使うか |
|---|---|---|
-n | - | 名前解決を行わない(Windowsの-d相当) |
-m | 50 | 最大ホップ数を指定(Windowsの-h相当) |
-w | 2(秒) | タイムアウト時間を秒単位で指定(Windowsの-wと似ているが単位が異なる) |
-I | - | Windowsのtracertと同じICMPパケットで経路調査。ファイアウォールで通常のUDPがブロックされる場合に有効(root権限が必要な場合あり) |
-T -p | 443 | ICMP/UDPがブロックされている環境で、Webサーバー等の特定TCPポートを使って経路調査したい時(root権限が必要な場合あり) |
3. 通信状況の詳細な確認(netstat / ss)
自機の現在のネットワーク接続状態、待ち受けポート(LISTEN状態)、ルーティングテーブル、プロトコル別統計情報を表示します。
Windows(一部Linuxでも共通):netstat
| オプション | どんな時に使うか |
|---|---|
-a | 待ち受け状態(LISTEN)も含め、すべてのTCP/UDPポートの状態を確認したい時 |
-n | ホスト名やサービス名を解決せず、IPアドレスとポート番号で素早く表示したい時 |
-r | 自機のルーティングテーブルを確認したい時。通信が意図したゲートウェイに向かっているか調査する場合 |
-t(Linux) | TCP通信に絞って表示したい時 |
-u(Linux) | UDP通信に絞って表示したい時 |
-p(Linux、要管理者権限) | どのプロセスがどのポートを使用しているか知りたい時。トラブルシュートで非常に重要 |
-o | どのプロセスがどのポートを使用しているか知りたい時(Windows) |
Linux:ss(Socket Statistics。netstatを置き換えるために開発された)
| オプション | どんな時に使うか |
|---|---|
-a | 待ち受け状態を含むすべてのソケットを表示したい時 |
-n | 名前解決せず、IPアドレスとポート番号で表示したい時 |
-r | DNSの問い合わせ先情報(リゾルバー)を表示したい時。※ルーティングテーブルはip routeを使う |
-t | TCPソケットのみ表示したい時 |
-u | UDPソケットのみ表示したい時 |
-l | 待ち受け状態(LISTEN)のソケットのみ表示したい時 |
-p(要管理者権限) | ソケットを使用しているプロセス名とPIDを表示したい時 |
-e | より詳細なソケット情報(ユーザーID、i-node番号等)を表示したい時 |
よく使う組み合わせ
ss -tulnp(TCP/UDPのLISTENソケットを、名前解決なしでプロセス付きで一覧表示)
4. 名前解決の確認(nslookup / dig)
ドメイン名からIPアドレスを調べる(正引き)、またはその逆(逆引き)を行います。Webサイトにアクセスできない場合など、DNSによる名前解決が正常か確認するために使用します。
Windows/Linux/macOS共通:nslookup
| 調べる内容 | 値の例 | どんな時に使うか |
|---|---|---|
| Aレコード | - | ドメイン名に対応するIPアドレスを知りたい時。最も基本的な使い方 |
| PTRレコード(逆引き) | - | IPアドレスに対応するホスト名を知りたい時 |
| CNAME | - | エイリアス標準名。FQDNでの指定が必要 |
-type= | any / AAAA / ns / soa / mx / txt | Aレコード以外の特定レコードを調査したい時。メールサーバー(MX)、権威DNSサーバー(NS)、ドメイン管理情報(SOA)などを調べる |
| 特定DNSサーバー指定 | 8.8.8.8 | PCのデフォルトDNSではなく、特定のDNSサーバー(例:Google Public DNS)に問い合わせて結果を比較したい時 |
Linux:dig
| 調べる内容 | どんな時に使うか |
|---|---|
| Aレコード(正引き) | ドメイン名のIPアドレスと、応答に関する詳細情報を確認したい時 |
| PTRレコード(逆引き) | IPアドレスからホスト名を逆引きしたい時 |
| CNAME / ANY / AAAA / ns / soa / mx / txt | nslookupの-type=と同様、各種レコードを調べたい時 |
特定DNSサーバー指定(8.8.8.8) | 特定のDNSサーバーに問い合わせたい時 |
+trace | 非常に強力。DNSのトラブルシュートで、名前解決がうまくいかない原因をルートから順に調査したい時 |
+short | スクリプトで利用する等、IPアドレスの値だけをシンプルに取得したい時 |
5. 自身のネットワーク設定の確認(ipconfig / ip / nmcli)
自機のIPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバー等を確認します。ネットワークに接続できない場合、まずこのコマンドで自機の設定が正しいか確認します。
Windows:ipconfig
| オプション | どんな時に使うか |
|---|---|
| (オプションなし) | 自機のIPアドレス、サブネットマスク、デフォルトゲートウェイを素早く確認したい時 |
/all | 最もよく使われる。MACアドレス、DHCPサーバー、DNSサーバー等、すべての詳細情報を確認したい時 |
/release | DHCPで取得した現在のIPアドレスを一旦手放したい時。IPアドレス競合が起きた場合や、/renewと組み合わせてIPを再取得したい時 |
/renew | ネットワークに接続できない時や、/releaseの後に、DHCPサーバーから新しいIPアドレスを強制的に取得したい時 |
/flushdns | 特定のWebサイトだけ表示できない、社内サーバーの名前でアクセスできない等、DNSの名前解決に問題が疑われる時 |
/displaydns | PCが現在保持しているDNSキャッシュを確認したい時。/flushdnsが正常に実行されたかの確認にも使える |
Linux/macOS:ipコマンド
| コマンド | 値の例 | どんな時に使うか |
|---|---|---|
ip addr show | - | IPアドレス、MACアドレス、状態(UP/DOWN)を確認したい時。1つのインターフェースに複数IPが設定されている場合も正しく表示される |
ip link show | - | リンク層情報(MACアドレス、MTU、状態等)を、有効/無効に関わらず全インターフェースについて表示したい時 |
ip addr show dev <IF> | eth0 | 特定のインターフェースに絞って詳細を確認したい時。特定NICのトラブルシュートに便利 |
sudo ip link set <IF> up | eth0 | downで無効化したインターフェースを再度有効にしたい時 |
sudo ip link set <IF> down | eth0 | インターフェースを一時的に無効化したい時(通信は切断される) |
sudo ip addr add <IP/Mask> dev <IF> | 172.16.1.1/24 / eth0 | テスト目的等で、インターフェースに一時的なIPアドレスを割り当てたい時 |
Linux(RHEL系):nmcli(固定IP設定)
| 作業 | コマンド | 目的 |
|---|---|---|
| NICの確認 | nmcli device status | どのインターフェースを設定するか確認する |
| IP設定 | nmcli connection modify | 固定IPを設定する |
| DNS設定 | nmcli connection modify | 名前解決を安定化させる |
| 反映 | nmcli connection up | 再起動なしで設定を反映する |
| 設定確認 | ip a | 正しく設定されたか確認する |
OSによる違い
Rocky Linux 9 / AlmaLinux 9ではnmcliが標準です。Ubuntuではnetplanを使う構成もあるため、対象サーバーのOSに応じて読み替えてください。