netfilterは、Linuxのパケットフィルタです。これを使うとネットワークを使って色々と遊ぶ事ができます。 libnetfilterの強力さをアピールする為に、パケットモニタを書いてみました。読みやすさの為にエラー処理を徹底的に省いていますが、特に読みづらくしたりする事なく、57行で書けています。 論より証拠。以下がソースコードです。 #include <stdio.h> #include <netinet/in.h> #include <linux/netfilter.h> #include <libnetfilter_queue/libnetfilter_queue.h> #define QUEUE_ID 2 static void print(const char *buf, int len) { int i; for(i = 0; i < len; ++i) { printf