いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.059 / 読者数:825名

こんばんは、うすだです。

突然ですが、ひさびさに、メルマガのご紹介です。

再三書いている気がしますが、われわれエンジニアにとって、英語という言語は、 いやでもおつき合いしなければいけない大事なものです。

そう思って、わたしは英語に関するメルマガをいくつか購読しています。
しかし、日常的な会話や新聞などの文面に関するものがほとんどで、 技術的な文書を扱うメルマガは、ぜんぜん見当たりません。

…と思っていましたが、最近、以下のメルマガを見つけました。

Linux英語の達人
http://www.mag2.com/m/0000180265.html

「Linux英語の達人」では、Linux に関する英語のドキュメントの中から、 気になるフレーズを、毎回ていねいに訳してくれます。
また、「小ネタ」というコーナーでは、 辞書だけではわかりにくい言葉を紹介してくれます。 興味深い言葉が紹介されていて、面白いです。

週2回の発行のため、ついていけるかやや不安でしたが、 内容がぎゅっと短くまとめられていますし、もとが Linux の文章ということもあって、 英語の苦手なわたしでも問題なく理解できています。

よーし、これで英語はばっちりだ!!!
…なんてことにはなかなかならないと思いますが、継続は力だと思いますので、 楽しく読み続けようと思っています。

というわけで、紹介だけでおわってしまいましたが、
今週も、はりきってまいりましょう!

今週のお題 - tcpdump でネットワークを盗み見る

いよいよ、禁断の領域に、足を踏み入れたいと思います。

…なんて、意味深に書いてしまいましたが、単に、 ネットワークを流れるパケットを見てみよう! というだけのことです。

みなさんはすでにいろいろと経験されていると思いますが、 ネットワークに絡む諸問題というのは、原因究明と対処方法が、 なかなか難しいのではないかと思います。

そんなとき、原因を突き止めるための堅実な方法として、 ネットワークを流れるパケットを直接見る、という強引殺法があります。
そのマシンにパケットが届いているかどうか、パケットの内容が正しいかどうか、 などなどを、詳しく調べることができます。

なんだか敷居が高そうだなーと思われるかもしれませんが、 やってみるとそれほど難しくはないですよ…たぶん。

そんなわけで、今週は、ネットワークを流れるパケットを眺めるための、 tcpdump というコマンドを使ってみたいと思います。


tcpdump は、ネットワーク・インターフェース上に流れるパケットを表示したり、 ファイルに記録したりするためのコマンドです。
tcpdump を実行するためには、root の権限が必要となりますので、sudo 経由か、 root になって実行しましょう。
では、早速、実行してみます。

  # tcpdump
  tcpdump: verbose output suppressed, use -v or -vv for full protocol \
  decode
  listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
  22:52:39.847532 arp who-has tamabee tell 192.168.1.17
  22:52:39.848130 arp reply tamabee is-at 00:60:08:b2:55:c4
  22:52:39.848150 IP 192.168.1.17.39637 > tamabee.telnet: S \
  2050266091:2050266091(0) win 5840 <mss 1460,sackOK,timestamp \
  124842856 0,nop,wscale 0>
  22:52:39.850081 IP tamabee.telnet > 192.168.1.17.39637: S \
  1481195305:1481195305(0) ack 2050266092 win 17376 <mss 1460,nop,\
  nop,sackOK,nop,wscale 0,nop,nop,timestamp 1012849931 124842856>
  22:52:39.850143 IP 192.168.1.17.39637 > tamabee.telnet: . ack 1 \
  win 5840 <nop,nop,timestamp 124842857 1012849931>
  ...どばばばば...

引数になにも指定しなければ、 インターフェース eth0 に流れるパケットの要約を出力してくれます。
上記から、以下のやりとりが行われたことが、おぼろげにわかります。

  22:52:39.847532 : tamabee の MAC アドレスを問合せる ARP 要求
  22:52:39.848130 : 00:60:08:b2:55:c4 だよという ARP 応答
  22:52:39.848150 : 192.168.1.17 から tamabee の telnet への、接続
                    要求(SYN)
  22:52:39.850081 : tamabee から 192.168.1.17 への接続許可(SYN|ACK)
  22:52:39.850143 : 192.168.1.17 から tamabee への応答(ACK)
                    (以上3つで、TCPのセッションが確立されました)

-i オプションを用いて、インターフェースを指定することもできます。

  # tcpdump -i eth1

上記では、インターフェース eth1 に流れるパケットを対象とします。
また、-v や -vv オプションを用いると、詳細を教えてくれます。

  # tcpdump -vv
  tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture \
  size 96 bytes
  22:57:48.552655 arp who-has tamabee tell 192.168.1.17
  22:57:48.553280 arp reply tamabee is-at 00:60:08:b2:55:c4
  22:57:48.553312 IP (tos 0x10, ttl  64, id 43104, offset 0, flags [DF], \
  length: 60) 192.168.1.17.39639 > tamabee.telnet: S [tcp sum ok] \
  2378875806:2378875806(0) win 5840 <mss 1460,sackOK,timestamp \
  124873726 0,nop,wscale 0>
  22:57:48.586020 IP (tos 0x0, ttl  64, id 13671, offset 0, flags [DF], \
  length: 64) tamabee.telnet > 192.168.1.17.39639: S [tcp sum ok] \
  1300180853:1300180853(0) ack 2378875807 win 17376 <mss 1460,nop,\
  nop,sackOK,nop,wscale 0,nop,nop,timestamp 1012850549 124873726>
  22:57:48.586078 IP (tos 0x10, ttl  64, id 43105, offset 0, flags [DF], \
  length: 52) 192.168.1.17.39639 > tamabee.telnet: . [tcp sum ok] \
  1:1(0) ack 1 win 5840 <nop,nop,timestamp 124873730 1012850549>
  ...どばばばば...

先ほどと内容はほぼ同じ(時刻が違います)ですが、 IPヘッダや TCPヘッダなどの情報も出力してくれています。
(ひとによっては、よりわかりにくくなったかもしれませんが…。)

もっと生の情報が見たいとおっしゃる漢な方は、 -x オプションをつけて実行してください。

  # tcpdump -x
  tcpdump: verbose output suppressed, use -v or -vv for full protocol \
  decode
  listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
  23:12:46.443949 arp who-has tamabee tell 192.168.1.17
    0x0000:  0001 0800 0604 0001 00d0 59ca 5940 c0a8  ..........Y.Y@..
    0x0010:  0111 0000 0000 0000 c0a8 0102            ............
  23:12:46.444540 arp reply tamabee is-at 00:60:08:b2:55:c4
    0x0000:  0001 0800 0604 0002 0060 08b2 55c4 c0a8  .........`..U...
    0x0010:  0102 00d0 59ca 5940 c0a8 0111 0000 0000  ....Y.Y@........
    0x0020:  0000 0000 0000 0000 0000 0000 0000       ..............
  23:12:46.444562 IP 192.168.1.17.39648 > tamabee.telnet: S \
  3312762375:3312762375(0) win 5840 <mss 1460,sackOK,timestamp \
  124963513 0,nop,wscale 0>
    0x0000:  4510 003c 74be 4000 4006 428a c0a8 0111  E..<t.@.@.B.....
    0x0010:  c0a8 0102 9ae0 0017 c574 be07 0000 0000  .........t......
    0x0020:  a002 16d0 bd33 0000 0204 05b4 0402 080a  .....3..........
    0x0030:  0772 cab9 0000 0000 0103 0300            .r..........
  ...どばばばば...

ARP や IP パケットの生のデータが、合わせて出力されます。
ただし、デフォルトでは、 1パケットあたり96バイト(オクテットかも)までしか出力してくれません。 もっとたくさん出力して欲しいときには、-s オプションで、 そのサイズを指定します。

  # tcpdump -x -s 300

上記の場合、最大300バイト(オクテット)まで出力してくれます。
上限なく出力して欲しければ、0 を指定してください。

とりあえず今はパケットを取得しておくだけにしておいて、 あとから何度も見直したいとおっしゃる貴兄は、-w オプションを用いて、 ファイルに記録しましょう。

  # tcpdump -s 0 -w tcpdump_20060528.log
  tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture \
  size 65535 bytes

tcpdump_20060528.log というファイルに、 パケットサイズ無制限(65535と言ってますね)で取得した情報を、記録します。
あとから見たいときには、-r オプションでファイルを指定して、 あとはいつものように実行します。

  # tcpdump -x -r tcpdump_20060528.log | less

上記では、パイプで less コマンドに渡して、 less で見られるようにしています。
あとからじっくり確認したいときなどに、便利ですね。


…あ、tcpdump の簡単な使い方で、今週は終わってしまいました。

なんのこっちゃ的なところも多々あったとは思いますが、 わからなくてもぜんぜん構いませんので、オプションをいろいろ組み合わせて実行して、 セレブな(?)気分を味わってみてください。

来週は、ちゃんと応用編をやりたいと思います。(たぶん)

宿題の答え

先週の宿題は、

  シングルユーザモードで起動してください。ただし、起動時にカーネル
  のコマンドラインオプションで指定するのではなく、別の方法で行って
  ください。

でした。

Linux が動き出すときのランレベルは、/etc/inittab の最初のエントリにある、

  id:5:initdefault:
     ↑ココ

で決まります。
5 は、X Window System ありのマルチユーザモードですので、 これを 1 に変えてみましょう。
すると、再起動後に、シングルユーザモードで起動されます。
(毎回シングルユーザモードで起動されると面倒ですので、 試した後はもとに戻しておきましょう。)

ランレベルについては、過去に、以下で取り上げました。
よろしければご覧ください。

Vol.028 - ランレベルを理解する
http://www.usupi.org/sysad/028.html

今週の宿題

今週の宿題は、

  あなたのアカウントが、tcpdump だけを、パスワードなしで実行できる
  ように、sudo の設定を行ってください。

です。

sudo は、ちょっと前にやりました。よね。
root になって tcpdump を実行するよりも楽ですし、 うっかりなリスクも回避できますので、設定して、sudo 経由で使ってみましょう。

あとがき

こう見えても(?)、わたしは、小学校4年生の子を持つ親です。

しかし、子どものすべてを受け入れられる広い心を持っていませんので、 忙しいときにはないがしろにしたり、機嫌の悪いときにはやつあたりなどしてしまう、 よろしくない親です。

それじゃあいけないと思い、よめが持っていた、以下の本を読みました。

子どもが育つ魔法の言葉
http://www.amazon.co.jp/exec/obidos/ASIN/4569660231/usupiorg-22

親の言うことは聞かないし、口ごたえはするし、すぐキレるので、 なんでこんなに扱いにくい子なんだろう? と思っていました。
でも、実は、そういう育て方をしていたんですね。
そうならないためにも、親が間違っていたときは素直に謝る、 子どもの話をしっかり聞く、子どもの手本となる行動を親がするなど、 まあ当たり前のことかもしれませんが、 親子の間の信頼関係をきちんと築いていくことを、地道に実践していこうと思いました。

ですが、わたしがなるほどなと思ったのは、親も子も、 上手に感情を表現しないといけない、というところです。

キレる、ということは、怒りの感情を、 ひどい言葉や行動で表現しているということだと思います。
怒りや悲しみなどの負の感情を、外に出さずに我慢していると、 内にどんどん溜ってしまいます。 これを、上手に表現することで、内に溜めることなく、 そして相手の気分を害することなく、親や子に伝えることができるようになります。 ですので、ぶちっとキレることがなくなります。

そして、同じことが、仕事などに対しても、言えるような気がするのですが、 まだうまく考えを整理できていません。
まあ、焦らず、じっくり考えていきたいと思います。

もし、お子さんをお持ちで、子育てに悩みを抱えられている方は、 上記をぜひ読んでみてください。 税込みでも600円しませんし、600円以上の価値は確実にあると思います。

今週も、ここまで読んでいただき、ありがとうございました。
それでは、また来週に、お会いしましょう!

「いますぐ実践! Linux システム管理」の解除は、以下からできます。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」−毎日栗の絵を描いています。ギャラリーはまだ観てません。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)
http://www.fumido.co.jp/kuriniki/ (栗日記ぎゃらりー)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 5 をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューションや、Solaris10の例も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora8)
Fedora8のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日本の Linux 情報
日本の、Linux 総本山的なところです。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
Open Tech Press
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん





▼ 最近読んだ本

ハリー・ポッターと不死鳥の騎士団 ハリー・ポッターと不死鳥の騎士団
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと炎のゴブレット ハリー・ポッターと炎のゴブレット
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターとアズカバンの囚人 ハリー・ポッターとアズカバンの囚人
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと秘密の部屋 ハリー・ポッターと秘密の部屋
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと賢者の石 ハリー・ポッターと賢者の石
J.K.Rowling
  ハリポ月刊なので読み直してます
アルケミスト アルケミスト
パウロ・コエーリョ
  また読んだ
賢者の書 賢者の書
喜多川 泰
  違った視点から見られてよかった
セキュリティウォリア セキュリティウォリア
Cyrus Peikari, Anton Chuvakin
  やや冗長…ためにはなりました
CORE MEMORY CORE MEMORY
John Alderman, Mark Richards
  この筐体でPC作ってほしい!
新訳 星の王子さま 新訳 星の王子さま
サン=テグジュベリ
倉橋 由美子
  つまらない大人になったのか…
.....

[X]
「センネン画報」 今日 マチ子
「粟津潔 デザインする言葉」 粟津潔
「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸
「Make: Volume01」 オライリー・ジャパン
「セーラが町にやってきた」 清野 由実
「手紙屋」 喜多川 泰
「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久
「人蕩し術」 無能 唱元
「子育てハッピーアドバイス2」 明橋 大二, 太田 知子
「ラッセル幸福論」 B. Russell
「それでも人生にイエスと言う」 Viktor Emil Frankl
「子育てハッピーアドバイス」 明橋 大二, 太田 知子
「考具」 加藤 昌治
「北欧デザイン<3>」 渡部 千春
「北斎の謎を解く」 諏訪 春雄
「体感美術館」 平野 暁臣
「チベット永遠の書」 Theodore Illion
「リナックスの革命」 Pekka Himanen
「人月の神話」 Frederick Phillips,Jr. Brooks
「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner
「小布施ッション<2001-2002>」 セーラ・マリ カミングス
「アンパンマン伝説」 やなせ たかし
「夢をかなえるゾウ」 水野 敬也
「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann
「北欧デザイン<2>」 渡部 千春
「北欧デザイン<1>」 渡部 千春
「ヒューマン2.0」 渡辺 千賀
「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯
「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦
「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき
「デザインのデザイン」 原 研哉
「マキアヴェッリ語録」 塩野 七生
「ハンバーガーを待つ3分間の値段」 斎藤 由多加
「星の旅人-スペイン「奥の細道」-」 黛 まどか
「食品の裏側」 安部 司
「On Lisp」 Paul Graham
「ぼくが医者をやめた理由 つづき」 永井 明
「あなたならどうする?」 Jack Nikolaschka
「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」
      Mark G. Graff, Kenneth R. van Wyk
「「左利き」は天才?−利き手をめぐる脳と進化の謎
      David Wolman
「自分の中に毒を持て」 岡本 太郎
「アトピーの薬を減らす本」 田中 貴子
「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留
「X51.ORG THE ODYSSEY」 佐藤 健寿
「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子
「沖縄文化論」 岡本 太郎
「「伝説の社員」になれ!」 土井 英司
「コンピュータの構成と設計(上)」 Patterson & Hennessy
「カラスのジョンソン」 明川 哲也
「ドリルを売るには穴を売れ」 佐藤 義典
「頭がよくなる照明術」 結城 未来
「クロフォードのインタラクティブデザイン論」 Chris Crawford
「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso
「非常識のすすめ―逆発想の仏教論」 ひろさちや
「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」
      デージーネット
「イノベーションの達人!」 Tom Kelly, Jonathan Littman
「クリエーター50人が語る創造の原点」 小原 啓渡
「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick
「楽しい気象観察図鑑」 武田 康男
「入門 Ajax」 高橋 登史朗
「リリカルな自画像」 岡本 太郎
「やぎの目ゴールデンベスト」 林 雄司
「初めてのPython 第2版」 Mark Lutz,David Ascher
「鼻兎」 小林 賢太郎
「なぜ、これがアートなの?」 Amelia Arenas
「芸術起業論」 村上 隆
「まほう色の瞳」 Enrique Barrios
「ラーメンズつくるひとデコ」 ラーメンズ
「R25 つきぬけた男たち」 R25編集部
「美の呪力」 岡本 太郎
「しろのあお」 上大岡 トメ
「ザ・ゴール」 Eliyahu M. Goldratt
「ハッカーと画家」 Paul Graham
「岡本太郎に乾杯」 岡本 敏子
「Fedore Core Expert」 Software Design
「誰も知らない男」 ブルース・バートン
「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト
「国家の罠」 佐藤 優
「夜回り先生」 水谷 修
「やぎの目絵日記」 林 雄司
「7つの習慣」 スティーブン・R. コヴィー
「まろ、ん?−大掴源氏物語」 小泉 吉宏
「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル
「ポストモダン・マーケティング」 スティーブン ブラウン
「機動戦士ガンダムさん」 大和田 秀樹
「小エロのひみつ - Webやぎの目研究発表」 林 雄司
「これ、誰がデザインしたの?」 渡部千春
「60分間・企業ダントツ化プロジェクト」 神田 昌典
「ガルシアへの手紙」 エルバート ハバード
「人生は素晴らしいものだ」 オグ・マンディーノ
「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン
「ワインバーグのシステム思考法」 G.M.ワインバーグ
「渋谷ではたらく社長の告白」 藤田 晋
「渋井真帆の日経新聞読みこなし隊」 渋井 真帆
「コラム息切れ」 小野 法師丸
「早朝起業」 松山 真之介
「変な人が書いた驚くほどツイてる話」 斎藤 一人
「35歳から仕事で大切にしたいこと」 村井 勉
「金融広告を読め」 吉本 佳生
「発想する会社!」 トム・ケリー,ジョナサン・リットマン
「エハイク」 吉田 戦車
「人生の旋律」 神田 昌典
「仕事の思想」 田坂 広志
「CPUの創りかた」 渡波 郁
「非常識な成功法則」 神田 昌典
…これ以前は記録してません…

▼ 気に入ってる本

夢をかなえるゾウ 夢をかなえるゾウ
水野 敬也
  いままでで最高の「笑える」成功本
Linuxデバイスドライバ Linuxデバイスドライバ
Alessandro Rubini,
Jonathan Corbet
  ドライバ作らなくてもためになる
Firefoxの改造テクニック! Firefoxの改造テクニック!
大浦 淳
  いま栗日記拡張を考えてます
Apacheモジュール プログラミングガイド Apacheモジュール プログラミングガイド
小山 浩之
  Apacheの中身もわかるよ
図解 実戦マーケティング戦略 図解 実戦マーケティング戦略
佐藤 義典
  栗日記も戦略的に行こう!
やぎの目ゴールデンベスト やぎの目ゴールデンベスト
林 雄司
  よめも爆笑してました
アルケミスト アルケミスト
パウロ・コエーリョ
  ヘコみそうなとき読みます
X51.ORG THE ODYSSEY X51.ORG THE ODYSSEY
佐藤 健寿
  X51.ORGの集大成
チベット永遠の書 チベット永遠の書
Theodore Illion
  いろんな意味ですごい!!
影響力の武器 影響力の武器
ロバート・B・チャルディーニ
  思わず納得します