クイックリファレンス一覧へ戻る トップクイックリファレンス / ネットワーク診断・設定コマンド
クイックリファレンス ・ ネットワーク

ネットワーク診断・設定コマンド

ping/tracert・traceroute/netstat・ss/nslookup・dig/ipconfig・ip・nmcliなど、Windows・Linux・macOSのネットワーク診断・設定コマンドを、オプション単位の使い分け基準つきで整理した早見表です。

全5章 Windows / Linux / macOS対応 オプション単位の使い分け基準

本ページの読み方

単なるオプション一覧ではなく、「そのオプションをどんな場面で使うか」を基準に整理しています。トラブルシュートの基本手順(疎通確認 → 経路確認 → 通信状況確認 → 名前解決確認 → 自身の設定確認)の順に並べているため、上から順に確認していくと切り分けが進む構成です。

目次

  1. ネットワークの基本的な疎通確認(ping)
  2. 通信経路の確認(tracert / pathping / traceroute)
  3. 通信状況の詳細な確認(netstat / ss)
  4. 名前解決の確認(nslookup / dig)
  5. 自身のネットワーク設定の確認(ipconfig / ip / nmcli)

1. ネットワークの基本的な疎通確認(ping)

対象の機器がネットワーク上で稼働しているか(死活状態)、また応答時間(遅延)を確認します。

Windows:ping

オプション値の例どんな時に使うか
-t-ネットワーク機器の再起動後など、継続的に疎通状態を監視したい時
-n10通常4回よりも多い回数で、より正確な平均応答時間やパケットロス率を測定したい時
-l1500特定のパケットサイズで通信テストをしたい時。MTUを超えるような大きなサイズのパケットを送信し、通信経路上の問題を調査する場合
-f1472経路上でのパケット分割(フラグメンテーション)を許可せずに通信テストしたい時。Path MTU Discoveryを手動で行う際に-lと組み合わせて使う
-w1000(ミリ秒)応答が遅いネットワーク環境で、タイムアウトまでの時間をデフォルトより長く設定したい時
-a-IPアドレスからホスト名を逆引きで確認したい時
-4-IPv4で強制的に通信を行いたい時
-6-IPv6で強制的に通信を行いたい時

Linux/macOS:ping

オプション値の例どんな時に使うか
-c10Windowsの-nと同様、指定回数だけpingを実行したい時。Linuxはデフォルトで無制限に実行されるため、回数指定が一般的
-s1500Windowsの-lと同様、特定のパケットサイズで通信テストをしたい時
-i5(秒)pingの送信間隔を調整したい時。ネットワークに負荷をかけずに長時間監視したい場合
-w2(秒)応答を待つタイムアウト時間を秒単位で指定したい時
-Ieth1複数のNICを持つ機器で、特定のインターフェースから送信したい時
-f-ネットワークに高い負荷をかけて、パフォーマンスや耐久性をテストしたい時

単位の違いに注意

Windowsの-wはミリ秒、Linuxの-wは秒です。混同するとタイムアウト設定を1000倍間違えます。

2. 通信経路の確認(tracert / pathping / traceroute)

指定したホストまでの経路を特定し、経由するルーターのIP・ホスト名、区間ごとの応答時間を表示します。

Windows:tracert

オプション値の例どんな時に使うか
-d-経路上のルーターIPをホスト名に変換する処理を省略し、早く結果を表示させたい時
-h50デフォルトの最大ホップ数(30)を変更したい時。遠い宛先で30ホップを超える場合や、近距離調査で早く終えたい場合
-w500(ミリ秒)応答が遅い環境で、タイムアウトまでの待ち時間をデフォルト(4000ms)から変更したい時
-4-IPv4/IPv6両対応ホストに対し、強制的にIPv4で調査したい時
-6-IPv6環境で、IPv6の経路を調査したい時

Windows:pathping(pingとtracertを組み合わせた高度な分析ツール)

オプション値の例どんな時に使うか
-n-各ホップの名前解決が不要な時。診断を少しでも早く開始したい時
-h50調査ホップ数をデフォルト30から変更したい時。経路の見当がついていて範囲を限定したい場合
-q50重要オプション。各ホップへの問い合わせ回数を変更したい時。デフォルト100回は時間がかかりすぎるため、20〜50回程度に減らして調査時間を短縮するのによく使う
-p500(ミリ秒)問い合わせ送信間隔をデフォルト(250ms)から変更したい時。ネットワーク負荷を調整したい場合
-w500(ミリ秒)応答が遅い環境で、タイムアウトまでの待ち時間をデフォルト(3000ms)から変更したい時
-4-IPv4で強制的に経路調査したい時
-6-IPv6で強制的に経路調査したい時

Linux/macOS:traceroute

オプション値の例どんな時に使うか
-n-名前解決を行わない(Windowsの-d相当)
-m50最大ホップ数を指定(Windowsの-h相当)
-w2(秒)タイムアウト時間を秒単位で指定(Windowsの-wと似ているが単位が異なる)
-I-Windowsのtracertと同じICMPパケットで経路調査。ファイアウォールで通常のUDPがブロックされる場合に有効(root権限が必要な場合あり)
-T -p443ICMP/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アドレスとポート番号で表示したい時
-rDNSの問い合わせ先情報(リゾルバー)を表示したい時。※ルーティングテーブルはip routeを使う
-tTCPソケットのみ表示したい時
-uUDPソケットのみ表示したい時
-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 / txtAレコード以外の特定レコードを調査したい時。メールサーバー(MX)、権威DNSサーバー(NS)、ドメイン管理情報(SOA)などを調べる
特定DNSサーバー指定8.8.8.8PCのデフォルトDNSではなく、特定のDNSサーバー(例:Google Public DNS)に問い合わせて結果を比較したい時

Linux:dig

調べる内容どんな時に使うか
Aレコード(正引き)ドメイン名のIPアドレスと、応答に関する詳細情報を確認したい時
PTRレコード(逆引き)IPアドレスからホスト名を逆引きしたい時
CNAME / ANY / AAAA / ns / soa / mx / txtnslookupの-type=と同様、各種レコードを調べたい時
特定DNSサーバー指定(8.8.8.8特定のDNSサーバーに問い合わせたい時
+trace非常に強力。DNSのトラブルシュートで、名前解決がうまくいかない原因をルートから順に調査したい時
+shortスクリプトで利用する等、IPアドレスの値だけをシンプルに取得したい時

5. 自身のネットワーク設定の確認(ipconfig / ip / nmcli)

自機のIPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバー等を確認します。ネットワークに接続できない場合、まずこのコマンドで自機の設定が正しいか確認します。

Windows:ipconfig

オプションどんな時に使うか
(オプションなし)自機のIPアドレス、サブネットマスク、デフォルトゲートウェイを素早く確認したい時
/all最もよく使われる。MACアドレス、DHCPサーバー、DNSサーバー等、すべての詳細情報を確認したい時
/releaseDHCPで取得した現在のIPアドレスを一旦手放したい時。IPアドレス競合が起きた場合や、/renewと組み合わせてIPを再取得したい時
/renewネットワークに接続できない時や、/releaseの後に、DHCPサーバーから新しいIPアドレスを強制的に取得したい時
/flushdns特定のWebサイトだけ表示できない、社内サーバーの名前でアクセスできない等、DNSの名前解決に問題が疑われる時
/displaydnsPCが現在保持している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> upeth0downで無効化したインターフェースを再度有効にしたい時
sudo ip link set <IF> downeth0インターフェースを一時的に無効化したい時(通信は切断される)
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に応じて読み替えてください。

クイックリファレンス一覧へ戻る