Linux

Linuxでcからnetstatっぽいことをしたかった

詳しい話はまた後日ということで、とりあえず今回はソースと実行結果だけ貼り付けます。 netlinkの資料は比較的少ないので、カーネルソースを追いながら試行錯誤してみました。 TCPDIAG_GETSOCKでNLM_F_DUMPを指定するとソケットを列挙できるようです。 spor…

Linuxでcからnetstatっぽいことしたい

$ netstat --inet -n | wc -l みたいなことを比較的短い周期(1秒毎とか)でやりたいんですが何かいい方法ないでしょうか。 /proc/net/tcpを嘗めればできるんですが、もう少し軽くて優しいと嬉しいです。 いまのとこ、netlinkを使ってどうにかならないかと調…

カーネルモジュールことはじめ #9

だいぶ間があいてしまいましたが、気を取り直して再開します。「カーネルモジュールことはじめ」といいつつIPVSに偏ったネタばかりですが気にせずに進めます。今日は、こないだ書いたコード を見ながらIPVSの挙動を少しだけ追ってみたいと思います。IPVSに新…

SpamAssassin結構いいかも

昨日から Mail-SpamAssassin-3.2.1.tar.gz を入れて様子をみてますが、なかなかいい感じです。でもまあしばらくは大事なメールがSPAM判定されていないかをチェックする日々が続きそうです。 ただ困ったことが一点あります。スパム判定されたメールにはレポー…

spamassassin-3.2.1 入れてみた

なにげに手作業での処理がめんどくさくなってきたので、いまさらながら Mail-SpamAssassin-3.2.1.tar.gz を入れてみました。とはいえ、今のところなんにも考えずに動かしてみて、なんにも考えなくてもそれなりに動いているので、なんにも書くことはないです(…

カーネルモジュールことはじめ #7

今日は ip_vs_test_schedule() 関数に手をいれます。(コードはこちら) この関数は、IPVSが新しい接続を受け入れる時に呼び出されます。そして接続すべきリアルサーバを指す ip_vs_dest 構造体のポインタを返します。リアルサーバのリストは、引数で渡され…

デバイスドライバロード時の動作

どういう訳か、見えない「何か」に背中を押されたので、Linuxがデバイスドライバをロードした時の挙動を追ってみようと思います。例として(?) # modprobe r8169 した場合の挙動を追うことにします。# 少し長めなので結論を急ぐ方は こちら をどうぞ。まずは …

カーネルモジュールことはじめ #5

ip_vs_test 用の Kconfig と Makefile のパッチです。これで make menuconfig から test scheduling (IP_VS_TEST) を選択できるようになるはずです。あ、あと、#3のip_vs_test.c は net/ipv4/ipvs/ に置いて下さい。これで、現在稼働中のカーネルのソースで…

カーネルモジュールことはじめ

見ての通りなので細かい説明しません、ごめんなさい(ちょー手抜き! hello.c #include <linux/module.h> static void __exit hello_exit(void) { printk("hello kernel module unload\n"); } static int __init hello_init(void) { printk("hello kernel module!\n"); retur</linux/module.h>…