Linux入門

ネットワークコマンド入門【ping/curl/wget/ss/ip】

Linux入門
記事内に広告が含まれています。

「サーバーに繋がらない…どこで確認すればいい?」ネットワーク障害の切り分けに役立つコマンドをこの記事で解説します。

ネットワーク問題の診断フロー

ネットワーク障害は「どの層で問題が起きているか」を順番に確認することで素早く特定できます。

ネットワーク診断フロー
▲ Step1(ローカル確認)からStep5(HTTP)まで順番に確認。どのステップでNGになるかで問題箇所を特定できる

ping:疎通確認の基本

ping はICMP echo request/replyを使ってホストへの疎通を確認するコマンドです。

# 4回送信して終了(-c を付けないと無限ループ)
$ ping -c 4 google.com

# IPアドレス直接指定
$ ping -c 4 8.8.8.8

# 間隔を指定(-i 秒数)
$ ping -c 10 -i 0.5 192.168.1.1

curl:HTTPリクエストを送る

curl(Client URL)はHTTP/HTTPS/FTPなど多様なプロトコルでデータを送受信できる汎用ツールです。APIのテストやファイルダウンロードに広く使われます。

# HTTPヘッダーのみ取得(レスポンスコード確認)
$ curl -I https://example.com

# コンテンツを取得して表示
$ curl https://example.com

# ファイルに保存(-o = 指定名、-O = 元のファイル名)
$ curl -o myfile.html https://example.com
$ curl -O https://example.com/file.zip

# POSTリクエスト
$ curl -X POST -H "Content-Type: application/json" \
  -d '{"key":"value"}' https://api.example.com/endpoint

# リダイレクトに追従(-L)
$ curl -L https://example.com

wget:ファイルのダウンロード

wget はファイルダウンロードに特化したコマンドです。再開機能(-c)やミラーリングなどcurlにない機能があります。

# ファイルをダウンロード
$ wget https://example.com/file.zip

# ダウンロードを途中から再開(-c)
$ wget -c https://example.com/largefile.iso

# バックグラウンドでダウンロード(-b)
$ wget -b https://example.com/file.zip

ss:ポートとソケットの確認

ss(socket statistics)はネットワークソケットの状態を表示するコマンドです。かつて使われていた netstat の後継で、Ubuntu 20.04以降では netstat はデフォルトで非標準となっています。

# リスニング中のTCP/UDPポートを確認(-t=TCP -u=UDP -l=listen -n=数値表示)
$ ss -tuln

# プロセス名も表示(-p)
$ sudo ss -tulnp

# 特定ポートを確認
$ ss -tuln | grep :80

# 確立済みの接続を確認
$ ss -tn

ip コマンド:IPアドレスとルーティング

ip コマンドはIPアドレスやルーティングを確認・設定するコマンドです。古い ifconfig の後継です(ifconfig はnet-toolsパッケージが必要)。

# IPアドレスを確認
$ ip addr
$ ip addr show eth0   # 特定NICのみ

# ルーティングテーブルを確認
$ ip route

# デフォルトゲートウェイを確認
$ ip route show default

コマンド早見表

ネットワークコマンド早見表
▲ ss は netstat の後継、ip は ifconfig の後継。現代的なLinuxではこちらを使う

まとめ

  • ping -c 4 ホスト:疎通確認(-c で回数指定必須)
  • curl -I URL:HTTPヘッダー確認。-o でファイル保存
  • wget URL:ファイルダウンロード。-c で再開可能
  • ss -tuln:リスニングポートを確認(netstatの後継)
  • ip addr:IPアドレス確認(ifconfigの後継)
  • dig ドメイン:DNS解決の詳細確認

関連記事

📋 Linux入門チートシート完全版で全コマンドを一気に復習できます。

コメント

タイトルとURLをコピーしました