Division By Zero

ゼロで割る

pcapng形式をpcap形式に変換

WireShark 1.8から、デフォルトのフォーマットがpcapng形式になっている。これを、この形式に対応していないtcpdump等で利用するには、libpcap形式等に変換する必要がある。WireShark同梱のeditcap.exeで変換できる。

editcap.exe -F libpcap test.pcapng test.pcap

やはり同梱のcapinfos.exeで形式を確認できる。

capinfos.exe test.pcap
File name:           test.pcap
File type:           Wireshark/tcpdump/... - libpcap
File encapsulation:  Ethernet
Packet size limit:   file hdr: 65535 bytes
Number of packets:   1874647
File size:           1635139457 bytes
Data size:           1605145081 bytes
Capture duration:    297 seconds
...

capinfos.exe test.pcapng
File name:           test.pcapng
File type:           Wireshark - pcapng
File encapsulation:  Ethernet
Packet size limit:   file hdr: (not set)
Number of packets:   1874647
File size:           1667607300 bytes
Data size:           1605145081 bytes
Capture duration:    297 seconds

無事に変換できたので、今日はこれで終了!

tsharkでパケットキャプチャした際のメモ

1.5GB程度の大きなHTTPセッションの解析をする必要があり、WireSharkでキャプチャしようとしたが、途中で固まってしまう。仕方ないので、ゲートウェイ側でtcpdumpを行ったが、ドロップが発生してしまった。

そこで、元のPCに戻り、WireSharkのコマンドライン版であるtsharkで試してみたところ、うまくいった。

tshark -i 3 -f "host XX.XX.XX.XX"  -w capture.pcap
  • iの後の数字はインタフェースの番号。tshark -Dでリストが表示されるのでその番号を入れる。-fの後にはlibpcapフィルタを記述できる。

場合によってはWireSharkでも、Capture Options/Display Options/Update list of packets in real time
を無効にしたり、Capture Options/Capture/Bufferを大きくしたりすることでも解決できると思う。今日はここで終了!

Windowsでダミーファイルを作る

バイト数指定でダミーファイルを作りたい場合がある。Linuxでは下記のようにすれば1MBのファイルが作成できることは割と知られていると思う。

# dd if=/dev/zero of=dummy bs=1024 count=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.0139111 seconds, 75.4 MB/s
# ls -l dummy
-rw-r--r-- 1 root root 1048576 Aug 30 19:31 dummy

今回、Windows側で必要だったので、検索してみたところ、fsutil.exeという標準コマンドで実現できることがわかった。1MBのファイルを以下のようにして作成できる。なお、fsutil.exeの起動には管理者権限が必要だ。

c:\>fsutil file createnew dummy 1048576
ファイル c:\dummy が作成されました

c:\>dir dummy
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は XXXX-XXXXです

 c:\ のディレクトリ

2012/08/30  19:38         1,048,576 dummy
               1 個のファイル           1,048,576 バイト
               0 個のディレクトリ  480,777,154,560 バイトの空き領域

大きなダミーファイルをWindowsで使う場合は、Linuxからの転送にも時間がかかり面倒なので、こちらを使用することにして、今日は終了!

ラボの過電流対策

自社のラボには多数の検証用装置がある。ラボといっても一般住居とさして変わらない構造のため、埋め込みコンセントの数も少なく(さすがにもう一系統のコンセントを工事して追加してもらったが)、テーブルタップで分岐している。主ブレーカーを落とさないように、ブレーカーのついたテーブルタップ、さらに電流計付きのものを利用している。

埋め込みコンセントの定格は15A。テーブルタップの定格も15Aなので、埋め込みコンセントが二口だとしても、タップをフルに使うことを考えると、タップ自体は一つしかつなげられない。他はふさぐか、ほとんど電流の流れないものをつないでいる。

各サーバーの消費電力はカタログに記載されている場合もあるが、CPUやHDDの数、種類によって異なり、稼働状況にも依存する。監視ツールで実際の消費電力を確認できるサーバーもある。

DELL社のPowerEdgeシリーズだと、下記のコマンドで確認できる。

# omreport chassis pwrmonitoring 

ラボにあるPowerEdge R710という装置は870Wの電源が二つ装備されている。最大で870Wをドライブできる、という意味であり、消費電力を示しているわけではない(であるが、電源の効率を考えると、870W出力時は870W以上の電力消費となるはず)。実際、先のコマンドは、ピークは3.3Aだったと教えてくれる。

Statistic              : System Peak Power
Measurement Start Time : Tue Jun  8 03:39:53 2010
Peak Time              : Mon Jul 23 01:23:46 2012
Peak Reading           : 347 W

Statistic              : System Peak Amperage
Measurement Start Time : Tue Jun  8 03:39:53 2010
Peak Time              : Mon Jul 23 01:23:42 2012
Peak Reading           : 3.3 A
<||

現在値は、2.4Aとなっている。

>||
Amperage
Location : PS 1 Current 1
Reading  : 1.0 A

Location : PS 2 Current 2
Reading  : 1.4 A

同じR710なら、3ないし4台を一つのタップに接続できることになる。あとは、感覚で「これはR710の何分の一だろうか」と考えながら、タップの電流計も気にしつつ装置を追加していっている。

とりあえず、現状を整理できたので、今日はこれで終了!

iPadとポケモンタイピングDSキーボード

夏休みはノートPCを持たずにiPadだけで出かけることにしていたが、長文のメールを書くことも想定して、キーボードを持って行った。結論としては、Amazonで1580円で買ったキーボードとiPadの組み合わせは満足のいくものだった。

JIS配列キーボードがUS配列として認識されるので、ちょっとした記号、たとえば「チルダ」はどうやって入れるの?と悩むことはあったが、ここで解決。ちなみに「チルダ」は「Shift+半角/全角」。残念ながら、パイプ「|」とバックスラッシュ「\」は、入力できないようだ。

今日はこれで終了!

POFについて少し調べてみた

POF(Plastic Optical Fibre)というものについて少し調べてみた。

A simple sharp blade can be used to cut POF, without the need for polishing afterwards.

http://www.micrel.com/_PDF/Ethernet/White%20Paper/Ethernet%20Over%20POF.pdf

まず、POFは簡単に切断でき、切断面を磨く必要がない。GOF(Glass Optical Fibre)では、少なくともこんな道具が必要で、素人には敷居が高い。

The use of 650nm red light (LED) makes it completely safe. This safety feature brings additional benefits to the installer, as red light can be easily seen by the human eye to diagnose if the link is good.

http://www.micrel.com/_PDF/Ethernet/White%20Paper/Ethernet%20Over%20POF.pdf

1000BASE-SX等の光源はレーザーなので、直に覗くのは危険だ。

確かに、オーディオ用の光デジタル端子で使うファイバーはプラスチック(アクリル)で、光源はLEDだ。「曲げ」に対してもGOFより数段強いことも想像できる。

A bus protocol called Media Oriented Systems Transport (MOST) led by car manufacturers Damlier Chrysler, BMW and Audi was devised in the late 90’s to meet the rapidly increasing in-car data bandwidth. MOST25 offers 25Mbps and more recently MOST50 up to 50Mbps data bandwidth using POF as the physical media.

http://www.micrel.com/_PDF/Ethernet/White%20Paper/Ethernet%20Over%20POF.pdf

車載ネットワークでCANと並んで利用されているMOSTではPOFが利用されている、とのことだ。原文は省いたが、エアバッグやシートベルトの制御等など安全性が要求されるところにも利用されているらしい。

通常、1000BASE-SX等で使用する光ファイバーはGOFだが、このようなPOFのものもある。100BASE-FXであれば、最初からPOFを前提とした製品もある。

メタルケーブルを利用したLANは配線には便利なのだが、いまのところ10GBASE-Tが限界とみられているようだ。もちろん、高品質のケーブルを利用するなどすれば、技術的には可能なのかもしれないが、シールドでケーブルが太くなったり重くなることや、ポート付近の端子間の電磁干渉など、ハードルが高そうだ。

一方でメタルケーブルは同時に電力も供給できるというメリットがある。Thunderbolt(Light Peak)が未だに光ファイバー規格を策定できていないのもわかる。一度、POFに光があったようなのだが…

Light Peakは光インタフェースなので,伝送媒体に光ファイバを利用します。その際に,石英ガラス製の光ファイバに加え,軽量で安価なPOFの採用を進めようという動きが出ています。

http://techon.nikkeibp.co.jp/article/TOPCOL/20101112/187361/?P=1

なんとなくPOFというキーワードを取り巻く世界がわかったような気になったので、今日はこれで終了!

/dev/kvmのパーミッション

mod_pythonから起動したカスタムqemu-kvmがうまく動かなかった。ログを加えたり、いろいろ調査した結果、apacheに/dev/kvmへのパーミッションがないことが原因だとわかった。完全に動かないわけではなく、QEMUモニタにカスタムで追加したコマンドだけ動かなかったので手こずった。

休暇前に問題解決できてよかった。今日はここで終了!