pypackerがあればpython3でもpcapと仲良くできるかもしれない

以前、python + dpktによるpcap解析の手法 その1 その2 を書いた。

しかし、dpktはPython2系でしか動かないライブラリで、今後はPython3も視野に入れていくべきではないか?という気持ちがあったので、時折思い出したようにネットを徘徊していた。

すると、dpktをPython3用に書き直したpypackerと言うライブラリが登場したことを知りました。(Gentoo Portage Overlays - net-analyzer/pypackerのお陰で)

これです : https://github.com/mike01/pypacker

で、 前回のあれこれ と同じことをするpypacker_tutorialを書いてみたので、Bitbucketに置いておきました。

中身の説明を含めた利用例とかは別途なんか考えましょうねぇ。

https://bitbucket.org/ainoniwa/pypacker_tutorial/src

※ちなみに、このpypackerはWindows非サポートの代わりに、Linux環境ではキャプチャもできるようになったので、慣れればかなり色んな事が出来ると思うよ。ただ僕はwindowsで使うんだけど。

お し ま い

more…

PCとpktgenとpgrxで行く遅延測定の旅

前回 、pktgenのパケット構造は基本的に以下の構造になることが分かった。

ここに入っているtv_secおよびtv_nsecを、受信側で比較して遅延測定ができたらいいよね?

というのが、この Open Source Traffic Analyzer : http://people.kth.se/~danieltt/pktgen/

はじめに

Open Source Traffic Analyzerは、pktgenと同様にカーネルモジュールを読み込むことで /proc に生えてきて、pktgen形式のパケットに対する統計情報を取得することができる。

現在サポートされているのは、ipv4/ipv6のパケットカウンタ、遅延、ジッタ、パケット間隔。

パッチ形式で配布されているので、必要な機能に対するパッチを当てて利用することになるだろう。

生えてくるのは、 /proc/net/pktgen/pgrx となり、pktgenモジュールの一機能として提供される。(従って、今後「Open Source Traffic Analyzer」についてはpgrxとして記載する)

ただ、メインラインに取り込まれているわけではないので、pgrx対応のpktgenモジュールを作り直すか …

more…

PCとpktgenで行くショートパケットワイヤレートの旅

冒頭

「ねぇ、秒速1,488,095フレームなんだって」
「え、なに?」

「1Gbpsで最小フレームを送信可能なフレームレート。秒速1,488,095フレーム」
「ふーん・・・」

そりゃあ「ふーん・・・」ってなるな?

このフレームレートに到達しなければ1Gbpsを処理できているとは言えない。

従って、1Gbpsを処理できているか試験するために、汎用PCでこのフレームレートに到達する必要がある。 (1,000,000,000 bit = 125MB, 125MB/(60+4+12+8) = 1,488,095として計算)

では本題に入ろう。

はじめに

pktgenは、Linuxのカーネルに搭載されたトラフィックジェネレータ。

いつぞやからメインラインにカーネルモジュールとして同梱されるようになったので、恐らく2.6.26以降辺りから使えるのではないかと思う。

使い方

さしあたり、構成はループバック構成とする。

つまりこうだ。

                                         eth4
Generator (Ubuntu Server 13 …
more…

またしても、彼はwindowsでwinpcapをpythonから叩く道へ引き返す。

あらすじ

( ゚д゚)/ 3行で分かるlibpcapのpythonラッパーたち

あーしちゃん「あーしwindowsなんだけど」

そこでおじさんは考えた。ctypesしよう、と。

今日紹介するのは winpcapy http://code.google.com/p/winpcapy/ だよ

コイツはpythonから超簡単にwinpcap経由でデバイスを叩けるナイスなラッパーさ。

インストール? C:\python27\Lib\site-packages\ に置くだけだよ。

やっぱりさぁ、windowsでpythonでwinpcap使いたいとか言い始めるとさ、やれコンパイルしろとか色々うるさいわけじゃん。

俺はもっと環境負担の少ない、手軽な感じで救われたいんだよ。

Visual Studio …

more…

Centreon 2.3.9 to 2.4.1のログ貼り付けるだけ

Centreon 2.3.9から2.4.1にアップデートした時のログを貼り付けるだけのポスト。

詳しくは こちら を見るとして。

Ubuntu 10.04.4 LTSとndo2dbを使っていますので、nagiosディレクトリがちょっと違う感じになりました。

centreon-brokerは見送りで。

インストールした後、centstorageが立ち上がらなくてグラフが書かれなかったので、 mkdir /var/run/centreon する必要がありました。

root@locahost:~/centreon-2.4.1# bash install.sh -u /etc/centreon
###############################################################################
#                                                                             #
#                         Centreon (www.centreon.com)                         #
#                          Thanks for using Centreon                          #
#                                                                             #
#                                    v2.4.1                                   #
#                                                                             #
#                               infos@centreon.com                            #
#                                                                             #
#                   Make sure …
more…

MPEG2-TTSのwireshark dissectorがLuaでだそうですよ?

前回は、wiresharkで対応していないプロトコルなんてあるはずないじゃない!

って感じだったんだけど、どうもMPEG2-TTS(.m2ts)に関してはそうじゃないロボ的な感じになったので、ちょっと書いてみました。

MPEG2-TTSって言うと、MPEG2-TSの0x47の手前4byteにタイムスタンプが付与されて、1ブロック192byteになるアレです。

192byteのブロックに分けて、4byteは自分で適当に読んで、残った188byteをwiresharkのDissectorに投げるのを繰り返してます。

BitBucketに置きましたので、参考程度にどうぞ。

dissector_plugins@bitbucket

使う時は、 ${wireshark-path}/plugins/${version}/ の下に置けばいいだけです。

more…

誰のせいでもなく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…