誰のせいでもなくnetsniff-ng

tcpdumpは許されている。

では、netsniff-ngはどうか。

はい、公式。

http://netsniff-ng.org/

RX_RING, TX_RINGを用いたゼロコピーメカニズムにより、今までに無いパフォーマンスでパケットキャプチャ、ジェネレート、統計取得などなどをしていくぜ、って話である。(良く分からないまま喋ってる典型的な台詞)

それでは以下うんぬん。

netsniff-ng自体はtcpdumpの類似アプリであるが、周辺ツール郡として、パケットジェネレータや統計取得、暗号化トンネルのテストツールも含まれている。

まずは基本的なところから見ていこうと思います。

一応インストールから。

Ubuntu server 12.04.2 amd64にインストールする。

$ sudo apt-get install git ccache flex bison libnl-3-dev
libnl-genl-3-dev libgeoip-dev libnetfilter-conntrack-dev
libncurses5-dev liburcu-dev libpcap-dev zlib1g-dev
$ git clone https://github.com/borkmann/netsniff-ng …
more…

Q77とUbuntuとHeadless

DQ77KBにUbuntu Server 12.04.2を入れる。

でもモニタとかディスプレイを挿さないので基本はsshだけど、必要に応じてVNCにしたい。

という当たり障りの無い話を書く。

DQ77KBにはvPro機能の一部であるところのIntel AMTが搭載されている。もちろん対応CPUを載せればの話だ。

Intel AMTの操作には、普段はManageability Commander Toolを使う。

Serial Console Redirectionモードで動くのでBIOSを見ることもできる。

CDは手元のisoファイルをIDE Redirectionすることで、IPネットワーク経由でCD Bootが出来る。

すると、ディスプレイを挿す必要もなくなる。

素晴らしき遠隔操作(と地雷を踏んで結局ディスプレイを挿してデバッグする)世界へようこそ。

DQ77KBのBIOSを0049にアップデートしたところ、UEFI Bootはデフォルトでenable。

まず面倒なので、これをdisableにする。

enableのままだと、何故かIDE-R中にisoイメージの転送が止まって、最初にkernel読み込ませろよハゲ、って言われちゃう。

(はっきり言ってIntel AMTは随所にハマりどころがあって、クソゲーの様を呈している)

Ubuntu Server自体はIDE-Rを使ってインストール。(特に説明してないですけど、mSATAが挿してあるのでそれに。)

この時、IPの設定とOpenSSHを追加でインストールしておく。

(忘れると、結局ディスプレイとキーボードを挿す羽目になるので。IPはDHCPでも推測可能なので別にいいかな。)

sshd_configは起動後に適当に調整 …

more…

OSSIMの画面キャプチャを貼るだけ

OSSIMとか言う、OSSをとりあえずてんこ盛りにした監視管理ディストリビューションがある。

http://communities.alienvault.com/

とりあえず入れてみて、Web画面をつらつらスクリーンショット撮ったので、画像をペタペタ貼り付けておく。

どんなのか気になった時に眺める用。ちなみに、中身はDebianだ。

操作説明とか全然する気無いのでご容赦ください。

感想 : 重すぎ。もし使うなら色々削ろう。

インストールここまで。勝手に再起動。

おしまい

more…

問題児たちがwiresharkのdissectorをLuaで書くそうですよ?

2013/06/05追記: wireshark_dissector_plugin_with_luaをPDFで書いて置いたのでそちらの方が見やすいやも。

wiresharkで対応していないプロトコルなんて滅多に無いので、利用シーンは限られるんだろうけど。

wireshark : 言わずと知れたパケット解析ソフトウェア。

http://www.wireshark.org/

  • dissector : 解析部分のこと。デコード、パース等言い方は何でもいいよ。

  • Lua : スクリプト言語的なの。wiresharkにはLua用APIがあるので連携できるの。

以下レッツ、コーディングなので興味ある人だけどーぞ。

more…

CentOSとiptablesでper-packet loadbalance with coreemu

Linuxでパケット単位のロードバランスをしながら、coreemuの宣伝をします。

今回のキーワードは、 CentOS, coreemu, iptables, fwmark, loadbalance, per-packet loadbalance 辺りでしょうか。

Install coreemu for CentOS 6.3

さっくりインストールするので、いくつか現時点のハマりどころを書いておく。

基本的には、2.2.2. Installing from Packages on Fedora/CentOSを読みながら進みましょう。

  1. tkimgとlibevを先にインストールしておく必要があります。(EPEL使う場合は勝手に入るのでOK)
  2. SELINUXを無効にするか適切に設定しないとzebra(およびルーティングデーモン)が動きません
  3. ホスト側でiptablesを無効にするか空っぽにしておかないと、仮想リンク間のパケットが全部叩き落とされます。 iptables -F; /etc/init.d/iptables save とかで良いですかね。
  4. yumで入るtkのバージョンが古いので、仮想リンクの遅延等を設定しようとすると Error: Invalid command …
more…

今は昔、coreemuといふ者ありけり。

quagga/xorpにまじりてLinux network namespaceを取りつつ、よろづのことに使ひけり。

今日は coreemu というネットワークエミュレータの話をしようと思う。

GNS3のIOS使わない全てOSS版、みたいなものだと思ってくれればいい。

前述の通り、関連キーワードは Linux network namespace, Quagga, XORP である。

What is coreemu ?

coreemuとは、tcl/tkで書かれたGUIでネットワークトポロジを作成し、作成した仮想ノード別にルーティングテーブル(Linux network namespace)およびプロセスを分離し、各仮想ノードでquagga/xorp等を動作させて、IPネットワークをエミュレートするためのアプリケーションである。

各仮想ノードは、Linux Containerのような形である程度独立して動くものの、ルートディレクトリが隔離されるわけでもないので、アプリケーションコンテナのような形で動くことになる。

とりあえず触ってみる

まずはインストールしてみよう。

手元で動作を確認しているのはUbuntu系列だけなので、説明にはXubuntuを使用する。

しかし、基本的に Netnwork namespaceが使用出来るカーネル以降であれば、おおよそ動作するはずなので、CentOSやFedoraが良い人は、そちらのパッケージを使おう。

インストールは Coreemu …

more…

net6501-70 ネットワークベンチマーク harvest編

FreeBSDのネットワークパフォーマンスチューニングに関するwikiページがあるのですよ。

http://wiki.freebsd.org/NetworkPerformanceTuning

で、OS tuningの項目には、以下のように書いてある。

Skip feeding /dev/random from network.
kern.random.sys.harvest.ethernet=0
kern.random.sys.harvest.point_to_point=0
kern.random.sys.harvest.interrupt=0

そんなに変わるかなぁ、と半信半疑なので、簡単に測定してみた。

※見たら分かると思うけど信憑性超低いですぞな。

前提

物理構成

Node1 ---(SW)--- net6501 --- Node2

環境

OS : FreeBSD 9.0R
pf …
more…

net6501-70 ネットワークベンチマーク測定結果

以前、 net6501-70を買って、それからどうしよう。 とか言っていたのだけど、結局FreeBSD 9.0Rを入れて、いつものようにルータにすることにした。

理由はいくつかあるけど、それは置いといて。

そこで、ネットワーク周りのベンチマークを取って、傾向だけでも把握しておこうかと思ったので、チマチマ測った結果を載せておこうと思う。

別段面白いことは無いと思うよ...うん。

2012/10/13 「IPv6のUDP性能測定のやり直し」「各グラフの縦軸統一」を適用しました。

はじめに

まず、測定構成は以下の2つで、測定のアプリケーションにはiperf 2.0.5を使用した。

Case1)
    Node1 ---(SW)--- DUT(net6501)

Case2)
    Node1 ---(SW)--- DUT(net6501) ----- Node2

iperfによる測定時間は、いずれも300秒。記事末尾にスクリプト例だけ載せておきますので説明を端折ることに。

SW部分にはHP 1810-24Gがあるが、ごく小さい遅延が乗るだけなので目をつぶる。

また、Node1,net6501には試験に使用するネットワークを介してSSH接続を行なっていることもあり、試験用トラフィック以外のトラフィックが流れてしまう環境であることを予め共有しておく …

more…

障害記録 UPS 2012/09/28

本日のアクセス障害に関する障害記録。

  • 11:02 ESXi動作マシンの電源故障により、収容仮想マシンがダウン(時間はログから推定)。仮想化されていたルータのダウンにより、全外向きサービスの不通となる
  • 19:45 当初原因不明であったため、同マシンの電源を投入したところ、電力供給ライン上のUPSが短絡検出したことで当該UPSの電力供給が停止。これにより、UPS収容装置の全断が発生
  • 19:50 故障電源を予備電源と入れ替えて再度起動
  • 20:07 各監視アラートの対処を完了

今後の対応と対策

  • どうしよっかー...

冷静にログ追ったら断時間が8時間5分とか、年間で言うと0.1%分の稼働率が吹っ飛んだことに...。

まぁメンテナンス入れたらもっと吹っ飛んでますけど。

more…

net6501-70 + FreeBSD 9.0R

本来はFreeBSD 9.1Rを待って、「サポート期間長いぞうひょー」なのだが。

先んじてFreeBSD 9.0Rで動作確認しておこうかな、と。

OpenBSDについては相談の結果L2TP Clientになれそうになかったので、少し保留。

net6501にはVGAが無いので、必然的にSerialを使った操作になる。

FreeBSDのインストールメディアはUSBメモリ1択。

CD/DVDはどうしても使わないといけない時以外は使わないようになりました。

FreeBSD-9.0-RELEASE-i386-memstickをddして焼きこみ。でもVGA用だからSerial用に設定する。handbook見ながらね!

https://www.freebsd.org/doc/ja/books/handbook/serialconsole-setup.html#idp87991760

# dmesg \tail -6
da4 at umass-sim0 bus 0 scbus2 target 0 lun 0
da4: Removable Direct Access SCSI-5 …
more…