トラブルの調査では、基本的にはログや応答のメッセージを確認し、手元で再現試験を行うことで原因の切り分けを行います。以下はネットワークのトラブルシュートで活用できるコマンドの一覧です。
🎃 ping
ICMPエコー要求およびエコー応答メッセージを利用して、IPレベルでの接続性の検査を行うコマンド。
ping 192.168.1.1 |
🐞 traceroute
IPパケットの生存期間を表すTTLフィールドを1ずつ大きくした値のIPパケットを指定したホストに送信し、経路上のルータを集めるコマンド。IPによるパケット転送の経路上で、どこまでパケットが到達したのかを確認するために利用。
traceroute www.yahoo.co.jp |
🎂 ifconfig
ホストに搭載されているネットワークインタフェースとそこに割り振られたIPアドレスの情報を取得できる。
ifconfig -a |
🤔 arp (ndp, ip, netstat)
OSが管理しているARPテーブル(IPアドレスとMACアドレスの対応表)の情報を表示するコマンド。
arp -an |
🍄 netstat
サーバ上において特定のポートを使用するサービスが接続を待ち受けているかどうかを表示するコマンド。
netstat -an |
LISTENというステータが接続の待受けを表す。期待するポートがLISTENになっていない場合はサービスの起動が成功しいない可能性がある。
🚌 lsof
稼働中のプロセスがどのファイルをオープンしているかを表示。
lsof -i |
🗻 dig
DNSサーバに対して名前解決のリクエストを送るコマンド。
dig A www.soum.co.jp |
🚕 tcpdump
パケットキャプチャを行うコマンド。ネットワーク通信に問題がある場合の原因調査に使う。
tcpdump -i eth0 |
🐠 telnet
TCP通信の内容を直接操作する。
telnet [hostname] http |
🐮 ランダムな文字列の生成
10文字のランダムな文字列を生成するコマンドです。fold -w
のオプションを変更すれば任意の文字数で表示できます。
cat /dev/urandom | base64 | fold -w 10 | head -n 1 |
複数のコマンドをパイプでつないでいるのでそれぞれのコマンドの紹介です。
コマンド | 説明 |
---|---|
/dev/urandom |
擬似デバイスの一種で、乱数生成器として機能 |
base64 |
標準入力のデータをBASE64でエンコード |
fold -w 10 |
指定文字数で行を折り返すときに使うコマンド |
head -n 1 |
上位n行を返すコマンド |
🎉 Excelでファイルの文字化けを防ぐ
Mac(Linux)でダウンロードしたCSVをExcelで開けるように「Shift_JIS」に変換するためのコマンドです。
nkf -s --overwrite hoge.csv |