ruby-pcap 0.7.8 → 0.7.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 913aacfd45979834125fde75053c925015ee8b45
4
+ data.tar.gz: 97499258d1aa138e73950474e439f9ec538a8aa2
5
+ SHA512:
6
+ metadata.gz: ee7bca3fd1b84ccf63ba4e008a770f80e561b7eab224de77f3c6406963e302a4a737f06aebbda7d048b4269117d79babd30991a31fb31ae406bbd7296f6b4e2f
7
+ data.tar.gz: f4c6a018d754462db3f34ab5006ad5cb0a910a7bda315248f0352f0acf727eb34de29f49e32035085ba44b557e7489d473312208deb49fc5971e3b0b4f59e2d2
@@ -0,0 +1,13 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.1.6
6
+ - 2.2.2
7
+ - ruby-head
8
+ os:
9
+ - linux
10
+ - osx
11
+ before_install:
12
+ - sudo apt-get update -qq
13
+ - sudo apt-get install -y libpcap-dev
data/ChangeLog CHANGED
@@ -1,3 +1,109 @@
1
+ 2015-05-24 Shintaro Kojima <goodies@codeout.net>
2
+
3
+ * version 0.7.8 released.
4
+
5
+ * Ruby 2.2 support
6
+
7
+ 2012-12-06 Marcus Barczak <mbarczak@etsy.com>
8
+
9
+ * version 0.7.7 released.
10
+
11
+ * Migrate packaging from jeweller to bundler
12
+
13
+ 2012-01-20 Pedro Navajas <pnavajas@nosolosoftware.biz>
14
+
15
+ * Modified pcap.c: new method returning the file descriptor
16
+
17
+ 2011-06-11 Tim Jarratt <tjarratt@gmail.com>
18
+
19
+ * Improve performance during capture and makes the gem work on any OS with ruby 1.9.*
20
+
21
+ 2011-06-10 Ilya Maykov <ilyam@ooyala.com>
22
+
23
+ * Don't do TRAP_BEG / TRAP_END on any version of Ruby 1.9.
24
+
25
+ 2011-06-09 Ilya Maykov <ilyam@ooyala.com>
26
+
27
+ * version 0.7.6 released.
28
+
29
+ * Make the trap / don't trap decision at gem installation time, as it's always based on RUBY_PLATFORM + RUBY_VERSION
30
+ which are known at that time.
31
+ Removed the shouldnt_trap argument from Pcap::Capture#dispatch and Pcap::Capture#loop, no longer needed.
32
+ Cache the duplicated variable in Pcap::Pcaplet#each_packet so we don't compute it each time.
33
+ And some minor code cleanup here and there.
34
+
35
+ 2011-06-07 Tim Jarratt <tjarratt@nearbuysystems.com>
36
+
37
+ * Only log "packets received / packets dropped" when a specific flag is passed in.
38
+
39
+ 2011-05-31 Tim Jarratt <tjarratt@nearbuysystems.com>
40
+
41
+ * version 0.7.5 released.
42
+
43
+ * Added source, destination mac address methods to TCP Packet.
44
+
45
+ 2011-05-30 Tim Jarratt <tjarratt@nearbuysystems.com>
46
+
47
+ * Fixes to make this gem run with ruby 1.9.2@p180 on Mac OS X 10.6.7.
48
+
49
+ 2011-02-17 Andrew Hobson <ahobson@damballa.com>
50
+
51
+ * version 0.7.4 released.
52
+
53
+ * Add support for recalculating the ip checksum.
54
+ Automatically do so if changing the source or dest IP
55
+
56
+ 2011-02-03 Eric Tamme <etamme@gmail.com>
57
+
58
+ * Fixed STR2CSTR issue for ruby 1.9.2
59
+
60
+ 2010-12-02 Andrew Hobson <ahobson@damballa.com>
61
+
62
+ * version 0.7.3 released.
63
+
64
+ * Update for newest version of libpcap
65
+
66
+ 2010-09-27 Andrew Hobson <ahobson@damballa.com>
67
+
68
+ * version 0.7.2 released.
69
+
70
+ * Use the proper RSTRING macros. This appears to get ruby 1.9 working
71
+
72
+ 2010-06-07 Andrew Hobson <ahobson@damballa.com>
73
+
74
+ * version 0.7.1 released.
75
+
76
+ * Fix assignment of packet timestamp and bump version
77
+
78
+ 2009-06-06 Roman Shterenzon <roman.shterenzon@gmail.com>
79
+
80
+ * version 0.7.0 released.
81
+
82
+ * Convert to rubygem
83
+
84
+ 2009-05-26 Andrew Hobson <ahobson@macguffin.infloop.com>
85
+
86
+ * Allow modifying the src and dst IPs
87
+
88
+ 2009-05-12 Andrew Hobson <ahobson@macguffin.infloop.com>
89
+
90
+ * Allow changing the time on a packet
91
+
92
+ 2008-12-22 Andrew Hobson <ahobson@macguffin.local>
93
+
94
+ * Fix warning in 1.8.6.
95
+ Submitted-By: xHire
96
+
97
+ 2008-11-24 Andrew Hobson <ahobson@macguffin.infloop.com>
98
+
99
+ * Add support for opening dead pcaps
100
+ The plan is to support dumping created packets to files and
101
+ using pcap_inject
102
+
103
+ * Apply patches from debian
104
+
105
+ * Add support for dumping a raw packet
106
+
1
107
  2000-08-13 Masaki Fukushima <fukusima@goto.info.waseda.ac.jp>
2
108
 
3
109
  * version 0.6 released.
@@ -0,0 +1,44 @@
1
+ ## ruby-pcap
2
+
3
+ [![Build Status](https://travis-ci.org/codeout/ruby-pcap.svg?branch=ruby-pcap-gem)](https://travis-ci.org/codeout/ruby-pcap)
4
+
5
+ ruby-pcap は Ruby から LBL の libpcap (Packet Capture library) へアク
6
+ セスするための拡張ライブラリです。TCP/IPのヘッダの情報にアクセスするた
7
+ めのクラスも含んでいます。
8
+
9
+ ## インストール
10
+
11
+ ```
12
+ gem install ruby-pcap
13
+ ```
14
+
15
+ ### 必要なもの
16
+
17
+ * ruby-1.9.3以上
18
+ * 古いバージョンでも動くかもしれませんが、テストされていません
19
+ * libpcap (http://www.tcpdump.org/)
20
+
21
+ ## 使い方
22
+
23
+ doc および doc-ja ディレクトリ以下にあるファイルを見て下さい。
24
+ examples ディレクトリに簡単なサンプルスクリプトがあります。
25
+
26
+ ## 作者
27
+
28
+ 福嶋正機 <fukusima@goto.info.waseda.ac.jp>
29
+
30
+ ## メンテナー
31
+
32
+ Marcus Barczak <mbarczak@etsy.com>
33
+
34
+ ## 著作権表示
35
+
36
+ ruby-pcapは福嶋正機が著作権を保持する free software です。
37
+
38
+ ruby-pcapはGPL(GNU GENERAL PUBLIC LICENSE)に従って再配布または
39
+ 変更することができます。GPLについてはCOPYINGファイルを参照して
40
+ ください。
41
+
42
+ ruby-pcapは無保証です。作者はruby-pcapのバグなどから発生する
43
+ いかなる損害に対しても責任を持ちません。詳細については GPL を
44
+ 参照してください。
@@ -1,40 +1,36 @@
1
- * Introduction
1
+ ## ruby-pcap
2
+
3
+ [![Build Status](https://travis-ci.org/ickymettle/ruby-pcap.svg)](https://travis-ci.org/ickymettle/ruby-pcap)
2
4
 
3
5
  ruby-pcap is a ruby extension to LBL libpcap (Packet Capture library).
4
6
  This library also includes classes to access TCP/IP header.
5
7
 
6
- * Installation
7
-
8
- Requirements:
9
-
10
- - ruby-1.8.x or ruby-1.9.2
11
- - libpcap (http://www.tcpdump.org/)
8
+ ## Installation
12
9
 
13
- Compile:
10
+ ```
11
+ gem install ruby-pcap
12
+ ```
14
13
 
15
- If ruby supports dynamic link of extension module on your OS,
16
- following commands will install ruby-pcap.
14
+ ### Requirements
17
15
 
18
- rake build
19
- sudo gem install pkg/pcap*.gem
16
+ * ruby-1.9.3 or higher
17
+ * May work with older ruby version but not being tested
18
+ * libpcap (http://www.tcpdump.org/)
20
19
 
21
- * Usage
20
+ ## Usage
22
21
 
23
22
  See the documentation under the directory 'doc'.
24
23
  Directory 'examples' contains some simple scripts.
25
24
 
26
- * Author
25
+ ## Author
27
26
 
28
27
  Masaki Fukushima <fukusima@goto.info.waseda.ac.jp>
29
28
 
30
- * Modifications by
31
- Andrew Hobson <ahobson@gmail.com>
29
+ ## Maintained by
32
30
 
33
- * OS X and Ruby 1.9.2 support by
34
- Tim Jarratt <tjarratt@gmail.com>
31
+ Marcus Barczak <mbarczak@etsy.com>
35
32
 
36
- * Performance Improvements and other great contributes by
37
- Ilya Maykov
33
+ ## Copyright
38
34
 
39
35
  ruby-pcap is copyrighted free software by Masaki Fukushima.
40
36
 
data/Rakefile CHANGED
@@ -1 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rake/extensiontask"
3
+
4
+ Rake::ExtensionTask.new("pcap") do |ext|
5
+ end
6
+
7
+ task default: :compile
@@ -8,52 +8,52 @@
8
8
  <DT><H1>Capture</H1></DT>
9
9
  <DD>
10
10
 
11
- �ѥ��åȥ���ץ����ɽ�����֥�������
11
+ パケットキャプチャを表すオブジェクト
12
12
  </DD>
13
- <DT><H2>�����ѡ����饹:</H2></DT>
13
+ <DT><H2>スーパークラス:</H2></DT>
14
14
  <DD><DL><DT><A HREF="http://www.ruby-lang.org/ja/man-1.4/Object.html"><CODE>Object</CODE></A></DT></DL></DD>
15
- <DT><H2>���󥯥롼�ɤ��Ƥ���⥸�塼��:</H2></DT>
15
+ <DT><H2>インクルードしているモジュール:</H2></DT>
16
16
  <DL>
17
17
  <DT><A HREF="http://www.ruby-lang.org/ja/man-1.4/Enum.html"><CODE>Enumerable</CODE></A></DT>
18
18
  </DL>
19
- <DT><H2>���饹�᥽�å�:</H2></DT>
19
+ <DT><H2>クラスメソッド:</H2></DT>
20
20
  <DL COMPACT>
21
21
  <DT>
22
22
  <A NAME=".open_live"><CODE>open_live(<var>device</var>[, <var>snaplen</var>[, <var>promisc</var>[, <var>to_ms</var>]]])</CODE></A>
23
23
  <DD>
24
24
  <p>
25
25
 
26
- �ǥХ����򥪡��ץ󤷤� <CODE>Capture</CODE> ���֥������Ȥ���
27
- ���ޤ���
26
+ デバイスをオープンして <CODE>Capture</CODE> オブジェクトを返
27
+ します。
28
28
  <VAR>snaplen</VAR>, <VAR>promisc</VAR>,
29
- <VAR>to_ms</VAR> �Υǥե�����ͤϤ��줾�� 68 �����ƥå�,
30
- <CODE>true</CODE>, 1000 �ߥ��äǤ���
29
+ <VAR>to_ms</VAR> のデフォルト値はそれぞれ 68 オクテット,
30
+ <CODE>true</CODE>, 1000 ミリ秒です。
31
31
  </p>
32
32
  <DT>
33
33
  <A NAME=".open_offline"><CODE>open_offline(<var>filename</var>)</CODE></A>
34
34
  <DD>
35
35
  <p>
36
36
 
37
- <VAR>filename</VAR> �ǻ��ꤵ�줿�ե�����򥪡��ץ󤷤�
38
- <CODE>Capture</CODE>���֥������Ȥ��֤��ޤ���
37
+ <VAR>filename</VAR> で指定されたファイルをオープンして
38
+ <CODE>Capture</CODE>オブジェクトを返します。
39
39
  </p>
40
40
  </DL>
41
- <DT><H2>�᥽�å�:</H2></DT>
41
+ <DT><H2>メソッド:</H2></DT>
42
42
  <DL COMPACT>
43
43
  <DT>
44
44
  <A NAME="close"><CODE>close</CODE></A>
45
45
  <DD>
46
46
  <p>
47
47
 
48
- <CODE>Capture</CODE>���֥������Ȥ򥯥��������ޤ���
48
+ <CODE>Capture</CODE>オブジェクトをクローズします。
49
49
  </p>
50
50
  <DT>
51
51
  <A NAME="datalink"><CODE>datalink</CODE></A>
52
52
  <DD>
53
53
  <p>
54
54
 
55
- �ǡ�����󥯤Υ����פ�ɽ���������֤��ޤ���
56
- (<A HREF="Pcap.html#::DLT_EN10MB"><CODE>DLT_EN10MB</CODE></A> ��)
55
+ データリンクのタイプを表す整数を返します。
56
+ (<A HREF="Pcap.html#::DLT_EN10MB"><CODE>DLT_EN10MB</CODE></A> )
57
57
  </p>
58
58
  <DT>
59
59
  <A NAME="dispatch"><CODE>dispatch([<var>count</var>]) {|<var>packet</var>|...}</CODE></A>
@@ -62,18 +62,18 @@
62
62
 
63
63
  <P>
64
64
 
65
- �ƥѥ��åȤ��Ф��Ʒ����֤��ޤ����֥��å��ˤ�
66
- <A HREF="Packet.html"><CODE>Packet</CODE></A>�����Υ��֥��饹�Υ��󥹥��󥹤��Ϥ���ޤ���
65
+ 各パケットに対して繰り返します。ブロックには
66
+ <A HREF="Packet.html"><CODE>Packet</CODE></A>かそのサブクラスのインスタンスが渡されます。
67
67
  </P>
68
68
 
69
69
  <P>
70
70
 
71
- <VAR>count</VAR> �ˤϽ�������ѥ��åȤκ��������ꤷ�ޤ���
72
- <VAR>count</VAR> �� -1 ����ꤹ��ȥХåե������äƤ����
73
- ���å����Ƥ�������ޤ���<VAR>count</VAR> �� 0 ����ꤹ���
74
- ���顼���ե�����ν���꤫�����ॢ���Ȥ�ã����ޤǥѥ��å�
75
- ��������ޤ���
76
- <VAR>count</VAR> �Υǥե�����ͤ� -1 �Ǥ���
71
+ <VAR>count</VAR> には処理するパケットの最大数を指定します。
72
+ <VAR>count</VAR> -1 を指定するとバッファに入っているパ
73
+ ケット全てを処理します。<VAR>count</VAR> 0 を指定すると
74
+ エラーかファイルの終わりかタイムアウトに達するまでパケット
75
+ を処理します。
76
+ <VAR>count</VAR> のデフォルト値は -1 です。
77
77
  </P>
78
78
 
79
79
  </p>
@@ -90,16 +90,16 @@
90
90
 
91
91
  <P>
92
92
 
93
- �ƥѥ��åȤ��Ф��Ʒ����֤��ޤ����֥��å��ˤ�
94
- <A HREF="Packet.html"><CODE>Packet</CODE></A>�����Υ��֥��饹�Υ��󥹥��󥹤��Ϥ���ޤ���
93
+ 各パケットに対して繰り返します。ブロックには
94
+ <A HREF="Packet.html"><CODE>Packet</CODE></A>かそのサブクラスのインスタンスが渡されます。
95
95
  </P>
96
96
 
97
97
  <P>
98
98
 
99
- <VAR>count</VAR> �ˤϽ�������ѥ��åȤκ��������ꤷ�ޤ���
100
- <VAR>count</VAR> ����ο�����ꤹ��ȥ��顼���ե�����ν���
101
- ���ã����ޤǥѥ��åȤ�������ޤ���<VAR>count</VAR> �Υǥե�
102
- ����ͤ� -1 �Ǥ���
99
+ <VAR>count</VAR> には処理するパケットの最大数を指定します。
100
+ <VAR>count</VAR> に負の数を指定するとエラーかファイルの終わ
101
+ りに達するまでパケットを処理します。<VAR>count</VAR> のデフォ
102
+ ルト値は -1 です。
103
103
  </P>
104
104
 
105
105
  </p>
@@ -111,29 +111,29 @@
111
111
  <DD>
112
112
  <p>
113
113
 
114
- snapshot ��Ĺ�����֤��ޤ���
114
+ snapshot の長さを返します。
115
115
  </p>
116
116
  <DT>
117
117
  <A NAME="setfilter"><CODE>setfilter(<var>filter</var>[, <var>optimize</var>])</CODE></A>
118
118
  <DD>
119
119
  <p>
120
120
 
121
- <VAR>filter</VAR> �ǻ��ꤵ�줿ʸ���󡢤ޤ���<A HREF="Filter.html"><CODE>Filter</CODE></A>��
122
- �ե��륿�Ȥ������ꤷ�ޤ���
123
- <VAR>optimize</VAR> �� <CODE>true</CODE> �ξ��Ϻ�Ŭ�����
124
- ���ޤ���<VAR>optimize</VAR> �Υǥե�����ͤ�
125
- <CODE>true</CODE> �Ǥ���
121
+ <VAR>filter</VAR> で指定された文字列、または<A HREF="Filter.html"><CODE>Filter</CODE></A>を
122
+ フィルタとして設定します。
123
+ <VAR>optimize</VAR> <CODE>true</CODE> の場合は最適化を行
124
+ います。<VAR>optimize</VAR> のデフォルト値は
125
+ <CODE>true</CODE> です。
126
126
  </p>
127
127
  <DT>
128
128
  <A NAME="stats"><CODE>stats</CODE></A>
129
129
  <DD>
130
130
  <p>
131
131
 
132
- �ѥ��åȥ���ץ���ˤĤ��Ƥ����פ�ޤ� <A HREF="http://www.ruby-lang.org/ja/man-1.4/Struct.html"><CODE>Struct</CODE></A>
133
- ���֤��ޤ�����¤�Τϰʲ��Υ��Ф�����ޤ���
132
+ パケットキャプチャについての統計を含む <A HREF="http://www.ruby-lang.org/ja/man-1.4/Struct.html"><CODE>Struct</CODE></A>
133
+ を返します。構造体は以下のメンバを持ちます。
134
134
  <BLOCKQUOTE>
135
135
  <DL COMPACT>
136
- <DT><CODE>recv</CODE></DT><DD>���������ѥ��åȤο�</DD><DT><CODE>drop</CODE></DT><DD>��ꤳ�ܤ��������ѥ��åȤο�</DD></DL>
136
+ <DT><CODE>recv</CODE></DT><DD>受信したパケットの数</DD><DT><CODE>drop</CODE></DT><DD>取りこぼしたしたパケットの数</DD></DL>
137
137
  </BLOCKQUOTE>
138
138
 
139
139
  </p>
@@ -8,41 +8,41 @@
8
8
  <DT><H1>Dumper</H1></DT>
9
9
  <DD>
10
10
 
11
- �ѥ��åȤ� tcpdump �����Υե�����˽񤭽Ф����饹�����������ե������
12
- tcpdump ��<A HREF="Capture.html#.open_offline"><CODE>Capture.open_offline</CODE></A>��Ȥä��ɤळ�Ȥ��Ǥ��ޤ���
11
+ パケットを tcpdump 形式のファイルに書き出すクラス。生成したファイルは
12
+ tcpdump や<A HREF="Capture.html#.open_offline"><CODE>Capture.open_offline</CODE></A>を使って読むことができます。
13
13
  </DD>
14
- <DT><H2>�����ѡ����饹:</H2></DT>
14
+ <DT><H2>スーパークラス:</H2></DT>
15
15
  <DD><DL><DT><A HREF="http://www.ruby-lang.org/ja/man-1.4/Object.html"><CODE>Object</CODE></A></DT></DL></DD>
16
- <DT><H2>���饹�᥽�å�:</H2></DT>
16
+ <DT><H2>クラスメソッド:</H2></DT>
17
17
  <DL COMPACT>
18
18
  <DT>
19
19
  <A NAME=".open"><CODE>open(<var>capture</var>, <var>filename</var>)</CODE></A>
20
20
  <DD>
21
21
  <p>
22
22
 
23
- <VAR>capture</VAR>�����������ѥ��åȤ�
24
- <VAR>filename</VAR>�˽񤭽Ф������<CODE>Dumper</CODE>���֤�
25
- �ޤ���
23
+ <VAR>capture</VAR>から取り込んだパケットを
24
+ <VAR>filename</VAR>に書き出すための<CODE>Dumper</CODE>を返し
25
+ ます。
26
26
  </p>
27
27
  </DL>
28
- <DT><H2>�᥽�å�:</H2></DT>
28
+ <DT><H2>メソッド:</H2></DT>
29
29
  <DL COMPACT>
30
30
  <DT>
31
31
  <A NAME="close"><CODE>close</CODE></A>
32
32
  <DD>
33
33
  <p>
34
34
 
35
- <CODE>Dumper</CODE>���֥������Ȥ򥯥��������ޤ���
35
+ <CODE>Dumper</CODE>オブジェクトをクローズします。
36
36
  </p>
37
37
  <DT>
38
38
  <A NAME="dump"><CODE>dump(<var>packet</var>)</CODE></A>
39
39
  <DD>
40
40
  <p>
41
41
 
42
- <VAR>packet</VAR>�򤳤�<CODE>Dumper</CODE>�˽񤭽Ф��ޤ���
43
- <VAR>packet</VAR>�Ϥ���<CODE>Dumper</CODE>�򥪡��ץ󤹤����
44
- ���ꤷ��<A HREF="Capture.html"><CODE>Capture</CODE></A>��������ޤ줿��ΤǤʤ���Фʤ��
45
- ����
42
+ <VAR>packet</VAR>をこの<CODE>Dumper</CODE>に書き出します。
43
+ <VAR>packet</VAR>はこの<CODE>Dumper</CODE>をオープンする時に
44
+ 指定した<A HREF="Capture.html"><CODE>Capture</CODE></A>から取り込まれたものでなければなりま
45
+ せん。
46
46
  </p>
47
47
  </DL>
48
48
  </DL>