ruby-pcap 0.7.8 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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>