Programmingの最近のブログ記事

c3620の古いIOS 12.3(22)でNetFlowをExportしたらWiresharkのbugに気が付いてしまった。

ubuntuに入ってたWireshark 1.2.2でデコード
c36nfv9_wireshark1_2_2.pngSubversion(revision 31474)のソースコードからbuildしたWiresharkでデコード
c36nfv9_wireshark_r31474.png"no template found"になっているではありませんか。
そもそもScope FieldのLengthが0って良いのか良くわからないが、Cisco実装がこうなっているので仕方ない。
I opened a wireshark bugzilla ticket.
Bug 4365 -  More complete support for IPFIX Information Elements for packet-netflow.c  (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4365)
-
More complete support for IPFIX Information Elements for packet-netflow.c

Build Information:
wireshark 1.3.3 (SVN Rev 31391 from /trunk)

Copyright 1998-2009 Gerald Combs <gerald@wireshark.org> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled with GTK+ 2.12.12, with GLib 2.16.6, with libpcap 0.9.8, with libz
1.2.3.3, without POSIX capabilities, without libpcre, without SMI, without
c-ares, without ADNS, without Lua, without Python, without GnuTLS, without
Gcrypt, without Kerberos, without GeoIP, without PortAudio, without AirPcap,
with new_packet_list.

Running on Linux 2.6.25.20-co-0.8.0, with libpcap version 0.9.8.

Built using gcc 4.3.2.
--
This attached patch enhance the number of supporting standard IPFIX Information
Elements which are defined in
http://www.iana.org/assignments/ipfix/ipfix.xhtml.
I sent a following mail to Vermont-dev mailing list. (The mail is archived in https://lists.berlios.de/mailman/private/vermont-dev/2009-December/000280.html, but an account is required to see the archive.)
-
Hello developers and all,

I downloaded source code via subversion and compile it. The configurability of VERMONT is very good, but the data size of exported IPFIX packets including data records can not be configured. The exported packets always include 10 records.
I made a temporary patch to configure data size of exported packets.
(I understand that the parameter is not described in the destination class in draft-ietf-ipfix-configuration-model-04)

This is a part of my configuration file. I added "maxPacketsize".
        <ipfixExporter id="8">
                <observationDomainId>99</observationDomainId>
                <ipfixPacketRestrictions>
                        <maxPacketSize>1500</maxPacketSize>
                </ipfixPacketRestrictions>

                <collector>
                        <ipAddress>127.0.0.1</ipAddress>
                        <transportProtocol>17</transportProtocol>
                </collector>
        </ipfixExporter>
twitter2mixiというサービスがありますが、なんか使う気が起きませんでした。
元々twttmixiをtwitterからmixi日記に転送していたので、いじればmixiボイスにも転送できるんじゃないかと思ってやってみました。
twttmixiを使ってmixi日記に自動投稿していたのですが、ある時期からtwitterを非公開状態に変えてしまったので、twttmixiが動かなくなってしまって放置してました。

時間があった時に調べてみたところ、どうもBasic認証を要求されてそこで失敗しているようなので、ユーザ認証を要するページにperlでアクセスを参考に修正しました。

83a87
>     $twitter->credentials("$TWITTER_DOMAIN:$HTTP_PORT", $TWITTER_REALM, $TWITTER_USERNAME, $TWITTER_PASSWORD);

修正といっても大したことなく、単に1行追加です。なお、ここで使っている変数は以下の通り設定しています。

my $TWITTER_DOMAIN      = 'twitter.com';
my $HTTP_PORT           = '80';
my $TWITTER_REALM       = 'Twitter API';
my $TWITTER_USERNAME    = ツイッターのユーザネーム;
my $TWITTER_PASSWORD    = ツイッターのパスワード;

XrefactoryというEmacs上で動作する(elisp)リファクタリングツールを最近知り、Version1系はフリーのようなので 入れてみました。使い方はひげぽん OSとか作っちゃうかMona- C++のリファクタリングツール Xrefactoryに解説されています。
基本的に操作に迷うことはありません(最初のプロジェクト作るときに色々聞かれてちょっと迷うけど)。
ただ自分の書いてるソースコードでは、Rename Symbolがうまくいく場合とうまくいかない場合があります。うまくいかない場合はあきらめてます。あと、補完機能は重宝してます。
それから、どうも日本語コメントが文字化けするようなので、プログラム番長のヲボエガキ Xrefactoryの日本語文字化け対応を参考にしました。
後、EmacsでCのプログラミングにはclmemo@aka Emacs で C 言語プログラミングを始める人へのイントロダクションが参考になります。
ちょっと思うことありVLCをコンパイルしようと思うと、途中でliveMediaが古いといわれるので、
回り道ですがまずはliveMediaのコンパイルをすることにした。しかしVisual C++ 2008 Express Editionだと、うまくいかないところがあったので、そのメモ。
原因は
http://msdn.microsoft.com/ja-jp/library/8h8eh904(VS.80).aspx
によるもの。

win32configの以下の部分を変更
TOOLS32    =        C:\Program Files\Microsoft Visual Studio 9.0\VC
さらにmsvcirt.libと書かれている部分をmsvcprt.libに変更。
そしてgroupsockディレクトリ以下のGroupsock.cppとNetAddress.cppで、以下の様にincludeする条件を変更する。
26c26
< #if (defined(__WIN32__) || defined(_WIN32)) && !defined(__MINGW32__)
---
> #if ((defined(__WIN32__) || defined(_WIN32)) && (_MSC_VER < 1300)) && !defined
(__MINGW32__)
29c29
< #if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)

---
> #if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
 || (defined(__WIN32__) || defined(_WIN32)) && (_MSC_VER >= 1300)


Microsoftがオープンソースで出してくれているWindows Template Library(WTL)を利用すればMFCが同梱されていない無償のVisual C++ ExpressでもネイティブなWin32 GUIアプリケーションが作れる環境が整えられるのではないかと、そういう考えを持つ人も多いと思う。自分もその一人である。

既に先人さん達が、色々なQuick Hackをしてくれている。しかし情報が古かったりする。日本語化アプリケーションウィーザード(WTL講座環境編)は扱っているバージョンがWTL7.1とVisual C++ 2003の組み合わせである。WTL8をVisual C++ 2008 Expressで使うことを解説しているページも存在する。WTL8で日本語アプリケーションウィザードをVisual C++ 2008 Expressで使おうと思ったら、結局これらを組み合わせて自分でQuick Hackするしかなさそうである。ということで作業を始めた。(因みに以前も似たような事をしようとしている)
HTMLの日本語化が完了した一息ついた時点で、Templateの方も含めて全て日本語化してCPLにて公開されているWebページ(UsefullCode.net)を発見してしまった。(ある意味今までの作業は無駄になったかと思って萎えた。)しかしこちらのページもWTLのバージョンが8.0.6536でとまっており最終版の8.0.7161ではない。
結局自分で作り直したHTML+上記のUsefullCode.netさんで公開されているzipからTemplate部分の流用(Templateディレクトリ以下でUsefullCode.netさんで日本語化された部分のpatchを作り最新バージョンに適用(一部手パッチ))+上記VC++ 2008 ExpressでWTL8を利用する方法を組み合わせて表題のVisual C++ 2008 ExpressでAppWizを日本語化したWTL8を利用可能にした。
日本はお箸の国&&IPv6実装先導国(?)なので、日本国民としては、ソースコードに
/* TODO: handle IPv6 */
なんて書かれた日には、手が勝手に動いてしまうのです(大嘘)。

というわけで、一体どの程度の人が興味があるのか知りませんが、Linuxでパケットキャプチャを独自の方式に切り替えてパケットロスを減らすためのカーネルモジュールであるPF_RINGをIPv6対応にしました。フラグメントの組み立ての部分は面倒でやってませんが、そもそもほとんどフラグメントされたIPv6パケットはないだろうと。
休みを無駄に3日も費やして作りました。大阿呆ですね、もっと正しい休みの使い方を覚えましょう。しかもその大半の時間はubuntu custom kernelを作るのにおおはまりした&PCが遅くてコンパイルを待っている時間が長かっただけだったりします。先のドキュメントに書いてあるAUTOBUILD=1 fakeroot debian/rules binary-debsと何も考えずに叩くとすべての種類のカーネルを作ろうとするので尋常じゃなく時間がかかります。結局"Alternate Build Method: The Old-Fashioned Debian Way"に書かれた割と慣れているDebian流のやり方でカーネル作りました。

と言うわけで、以下の通り。取り込まれるかどうかはメンテナー次第。
http://listgateway.unipi.it/pipermail/ntop-dev/2008-September/007074.html

最近のトラックバック

このアーカイブについて

このページには、過去に書かれたブログ記事のうちProgrammingカテゴリに属しているものが含まれています。

前のカテゴリはLinuxです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2010年2月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28            

Counters

Total visits: 582018
Unique visitors: 230684
This month: 13528
This week: 4795
Today: 51