便利コマンド


トラブルの調査では、基本的にはログや応答のメッセージを確認し、手元で再現試験を行うことで原因の切り分けを行います。以下はネットワークのトラブルシュートで活用できるコマンドの一覧です。

😼 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

🐡 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)