
|
[バックナンバーのトップへ] [Linux システム管理のトップへ] いますぐ実践! Linux システム管理 / Vol.059 / 読者数:825名こんばんは、うすだです。 突然ですが、ひさびさに、メルマガのご紹介です。 再三書いている気がしますが、われわれエンジニアにとって、英語という言語は、 いやでもおつき合いしなければいけない大事なものです。
そう思って、わたしは英語に関するメルマガをいくつか購読しています。 …と思っていましたが、最近、以下のメルマガを見つけました。
Linux英語の達人
「Linux英語の達人」では、Linux に関する英語のドキュメントの中から、
気になるフレーズを、毎回ていねいに訳してくれます。 週2回の発行のため、ついていけるかやや不安でしたが、 内容がぎゅっと短くまとめられていますし、もとが Linux の文章ということもあって、 英語の苦手なわたしでも問題なく理解できています。
よーし、これで英語はばっちりだ!!!
というわけで、紹介だけでおわってしまいましたが、 今週のお題 - tcpdump でネットワークを盗み見るいよいよ、禁断の領域に、足を踏み入れたいと思います。 …なんて、意味深に書いてしまいましたが、単に、 ネットワークを流れるパケットを見てみよう! というだけのことです。 みなさんはすでにいろいろと経験されていると思いますが、 ネットワークに絡む諸問題というのは、原因究明と対処方法が、 なかなか難しいのではないかと思います。
そんなとき、原因を突き止めるための堅実な方法として、
ネットワークを流れるパケットを直接見る、という強引殺法があります。 なんだか敷居が高そうだなーと思われるかもしれませんが、 やってみるとそれほど難しくはないですよ…たぶん。 そんなわけで、今週は、ネットワークを流れるパケットを眺めるための、 tcpdump というコマンドを使ってみたいと思います。
tcpdump は、ネットワーク・インターフェース上に流れるパケットを表示したり、
ファイルに記録したりするためのコマンドです。 # 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 に流れるパケットを対象とします。 # 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 パケットの生のデータが、合わせて出力されます。 # tcpdump -x -s 300
上記の場合、最大300バイト(オクテット)まで出力してくれます。 とりあえず今はパケットを取得しておくだけにしておいて、 あとから何度も見直したいとおっしゃる貴兄は、-w オプションを用いて、 ファイルに記録しましょう。 # tcpdump -s 0 -w tcpdump_20060528.log tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture \ size 65535 bytes
tcpdump_20060528.log というファイルに、
パケットサイズ無制限(65535と言ってますね)で取得した情報を、記録します。 # tcpdump -x -r tcpdump_20060528.log | less
上記では、パイプで less コマンドに渡して、
less で見られるようにしています。 …あ、tcpdump の簡単な使い方で、今週は終わってしまいました。 なんのこっちゃ的なところも多々あったとは思いますが、 わからなくてもぜんぜん構いませんので、オプションをいろいろ組み合わせて実行して、 セレブな(?)気分を味わってみてください。 来週は、ちゃんと応用編をやりたいと思います。(たぶん) 宿題の答え先週の宿題は、 シングルユーザモードで起動してください。ただし、起動時にカーネル のコマンドラインオプションで指定するのではなく、別の方法で行って ください。 でした。 Linux が動き出すときのランレベルは、/etc/inittab の最初のエントリにある、
id:5:initdefault:
↑ココ
で決まります。
ランレベルについては、過去に、以下で取り上げました。
Vol.028 - ランレベルを理解する 今週の宿題今週の宿題は、 あなたのアカウントが、tcpdump だけを、パスワードなしで実行できる ように、sudo の設定を行ってください。 です。
sudo は、ちょっと前にやりました。よね。 あとがきこう見えても(?)、わたしは、小学校4年生の子を持つ親です。 しかし、子どものすべてを受け入れられる広い心を持っていませんので、 忙しいときにはないがしろにしたり、機嫌の悪いときにはやつあたりなどしてしまう、 よろしくない親です。 それじゃあいけないと思い、よめが持っていた、以下の本を読みました。
子どもが育つ魔法の言葉
親の言うことは聞かないし、口ごたえはするし、すぐキレるので、
なんでこんなに扱いにくい子なんだろう? と思っていました。 ですが、わたしがなるほどなと思ったのは、親も子も、 上手に感情を表現しないといけない、というところです。
キレる、ということは、怒りの感情を、
ひどい言葉や行動で表現しているということだと思います。
そして、同じことが、仕事などに対しても、言えるような気がするのですが、
まだうまく考えを整理できていません。 もし、お子さんをお持ちで、子育てに悩みを抱えられている方は、 上記をぜひ読んでみてください。 税込みでも600円しませんし、600円以上の価値は確実にあると思います。
今週も、ここまで読んでいただき、ありがとうございました。
「いますぐ実践! Linux システム管理」の解除は、以下からできます。
バックナンバーは、こちらにほぼ全部そろっています。
「栗日記」−毎日栗の絵を描いています。ギャラリーはまだ観てません。 |
▼ トップ ▼ プロフィール ▼ リンク
▼ 作ってみました
▼ せんでん
▼ 最近読んだ本 [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の創りかた」 渡波 郁 「非常識な成功法則」 神田 昌典 …これ以前は記録してません…
▼ 気に入ってる本
| ||||||||||||||||||||||||||||||||||||||||