このページは過去に掲載していたものをそのまま使用しています。

Contents


Documents top page
README
API
Sample Scripts
 

rnids: Ruby NIDS 拡張ライブラリ (libnids 1.16対応)

  • version: 0.5477225575
  • Yasuhiro ABE <yasu@dengaku.org>

プログラミングガイド

詳しくはAPI Reference以下を見てください。

libpcapを基礎とするアプリケーションでの基本ですが、入力に対応する メソッドが呼ばれるという仕組みを取っています。そのために入力を扱うための メソッドが準備されています。このライブラリを使う場合には次のメソッドを 理解する必要があります。

  • NIDS::callback(packet)
  • NIDS::run()

このメソッドを再定義しますが、実際に動作させてることができる 完全なプログラミング例を以下に載せます。

require "rnids"

class MAIN < NIDS
def callback(packet)
printf "%s -> %s\n", packet.saddr, packet.daddr
end
end

trap("SIGINT", "EXIT")

main = MAIN.new
main.run
ここで自分の意思を反映させるには"packet"から必要な情報を取り出す必要 があります。packetは標準ではNIDS_TCPクラスのオブジェクトです。packetには TCP,UDP,IPのどのパケットなのか、セッションが開始されるのか、閉じられるのか などの通信に関する情報が入っています。

Yasuhiro ABE <yasu@dengaku.org>
Last modified: Sun Feb 11 23:02:06 JST 2001