インフラエンジニア御用達の便利なコマンド

Posted on

この 4 月からインフラエンジニアに転身して、これまで以上に Linux と戯れています。個人では手が出せないハードウェアや、数百台の仮想サーバをさわれてワクワクする毎日です。

今回は先輩から教えてもらったインフラエンジニア御用達 (?) の便利なコマンドを紹介します。いろいろありますが、今回は主にネットワーク周りのコマンドです。

swaks コマンド

"Swiss Army Knife for SMTP" の名の通り、メール送信のテストを行うコマンドです。

メールが送れるかを調べるだけなら mail コマンドで十分ですが、swaks コマンドなら相手のサーバとどんな通信を行っているか確認できます。

$ swaks -t xxxxx@gmail.com -f root@manabusakai.com
=== Trying gmail-smtp-in.l.google.com:25...
=== Connected to gmail-smtp-in.l.google.com.
<-  220 mx.google.com ESMTP tn9si7071535pac.131 - gsmtp
 -> EHLO manabusakai.com
<-  250-mx.google.com at your service, [157.7.131.202]
<-  250-SIZE 35882577
<-  250-8BITMIME
<-  250-STARTTLS
<-  250 ENHANCEDSTATUSCODES
 -> MAIL FROM:<root@manabusakai.com>
<-  250 2.1.0 OK tn9si7071535pac.131 - gsmtp
 -> RCPT TO:<xxxxx@gmail.com>
<-  250 2.1.5 OK tn9si7071535pac.131 - gsmtp
 -> DATA
<-  354  Go ahead tn9si7071535pac.131 - gsmtp
 -> Date: Thu, 25 Apr 2013 22:49:59 +0900
 -> To: xxxxx@gmail.com
 -> From: root@manabusakai.com
 -> Subject: test Thu, 25 Apr 2013 22:49:59 +0900
 -> X-Mailer: swaks v20111230.0 jetmore.org/john/code/swaks/
 -> 
 -> This is a test mailing
 -> 
 -> .
<-  250 2.0.0 OK 1366897802 tn9si7071535pac.131 - gsmtp
 -> QUIT
<-  221 2.0.0 closing connection tn9si7071535pac.131 - gsmtp
=== Connection closed with remote host.

CentOS や Fedora なら yum でインストールできます。中身は Perl スクリプトなので公式サイトから落としてくるだけでも使えます。

ipcalc コマンド

インフラエンジニアにとってネットワークの知識は不可欠ですが、ネットマスクの計算は意外と面倒。そんなときに便利なのが ipcalc コマンドです。

ネットマスクを調べるのも一発です。

$ ipcalc -m 172.16.0.0
NETMASK=255.255.0.0

ネットマスクが分かればプリフィックスを調べるのも簡単です。

$ ipcalc -p 172.16.0.0 255.255.0.0
PREFIX=16

ディストリビューションによって実装に違いがあるようなので、詳しい使い方は man コマンドで確認してください。