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.
- checksums.yaml +7 -0
- data/.travis.yml +13 -0
- data/ChangeLog +106 -0
- data/README.ja.md +44 -0
- data/{README → README.md} +16 -20
- data/Rakefile +6 -0
- data/doc-ja/Capture.html +37 -37
- data/doc-ja/Dumper.html +13 -13
- data/doc-ja/Filter.html +29 -29
- data/doc-ja/ICMPPacket.html +39 -39
- data/doc-ja/IPAddress.html +9 -9
- data/doc-ja/IPPacket.html +19 -19
- data/doc-ja/Packet.html +20 -20
- data/doc-ja/Pcap.html +17 -17
- data/doc-ja/PcapError.html +2 -2
- data/doc-ja/Pcaplet.html +25 -25
- data/doc-ja/TCPPacket.html +19 -19
- data/doc-ja/TruncatedPacket.html +3 -3
- data/doc-ja/UDPPacket.html +10 -10
- data/doc-ja/index.html +9 -9
- data/ext/{Pcap.c → pcap/Pcap.c} +3 -3
- data/ext/{extconf.rb → pcap/extconf.rb} +0 -0
- data/ext/{icmp_packet.c → pcap/icmp_packet.c} +0 -0
- data/ext/{ip_packet.c → pcap/ip_packet.c} +0 -0
- data/ext/{packet.c → pcap/packet.c} +0 -0
- data/ext/{ruby_pcap.h → pcap/ruby_pcap.h} +0 -0
- data/ext/{tcp_packet.c → pcap/tcp_packet.c} +0 -0
- data/ext/{udp_packet.c → pcap/udp_packet.c} +0 -0
- data/lib/pcap/packet.rb +69 -0
- data/lib/{pcaplet.rb → pcap/pcaplet.rb} +14 -11
- data/lib/pcap/tcpdump_time_format.rb +10 -0
- data/lib/pcap_misc.rb +2 -78
- data/ruby-pcap.gemspec +6 -3
- metadata +41 -28
- data/MANIFEST +0 -47
- data/README.ja +0 -50
- data/VERSION +0 -1
checksums.yaml
ADDED
@@ -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
|
data/.travis.yml
ADDED
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.
|
data/README.ja.md
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
## ruby-pcap
|
2
|
+
|
3
|
+
[](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
|
+
参照してください。
|
data/{README → README.md}
RENAMED
@@ -1,40 +1,36 @@
|
|
1
|
-
|
1
|
+
## ruby-pcap
|
2
|
+
|
3
|
+
[](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
|
-
|
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
|
-
|
10
|
+
```
|
11
|
+
gem install ruby-pcap
|
12
|
+
```
|
14
13
|
|
15
|
-
|
16
|
-
following commands will install ruby-pcap.
|
14
|
+
### Requirements
|
17
15
|
|
18
|
-
|
19
|
-
|
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
|
-
|
20
|
+
## Usage
|
22
21
|
|
23
22
|
See the documentation under the directory 'doc'.
|
24
23
|
Directory 'examples' contains some simple scripts.
|
25
24
|
|
26
|
-
|
25
|
+
## Author
|
27
26
|
|
28
27
|
Masaki Fukushima <fukusima@goto.info.waseda.ac.jp>
|
29
28
|
|
30
|
-
|
31
|
-
Andrew Hobson <ahobson@gmail.com>
|
29
|
+
## Maintained by
|
32
30
|
|
33
|
-
|
34
|
-
Tim Jarratt <tjarratt@gmail.com>
|
31
|
+
Marcus Barczak <mbarczak@etsy.com>
|
35
32
|
|
36
|
-
|
37
|
-
Ilya Maykov
|
33
|
+
## Copyright
|
38
34
|
|
39
35
|
ruby-pcap is copyrighted free software by Masaki Fukushima.
|
40
36
|
|
data/Rakefile
CHANGED
data/doc-ja/Capture.html
CHANGED
@@ -8,52 +8,52 @@
|
|
8
8
|
<DT><H1>Capture</H1></DT>
|
9
9
|
<DD>
|
10
10
|
|
11
|
-
|
11
|
+
パケットキャプチャを表すオブジェクト
|
12
12
|
</DD>
|
13
|
-
<DT><H2
|
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
|
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
|
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
|
-
|
27
|
-
|
26
|
+
デバイスをオープンして <CODE>Capture</CODE> オブジェクトを返
|
27
|
+
します。
|
28
28
|
<VAR>snaplen</VAR>, <VAR>promisc</VAR>,
|
29
|
-
<VAR>to_ms</VAR>
|
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
|
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>
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
<VAR>count</VAR>
|
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
|
-
|
102
|
-
|
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>
|
122
|
-
|
123
|
-
<VAR>optimize</VAR>
|
124
|
-
|
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
|
-
|
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
|
136
|
+
<DT><CODE>recv</CODE></DT><DD>受信したパケットの数</DD><DT><CODE>drop</CODE></DT><DD>取りこぼしたしたパケットの数</DD></DL>
|
137
137
|
</BLOCKQUOTE>
|
138
138
|
|
139
139
|
</p>
|
data/doc-ja/Dumper.html
CHANGED
@@ -8,41 +8,41 @@
|
|
8
8
|
<DT><H1>Dumper</H1></DT>
|
9
9
|
<DD>
|
10
10
|
|
11
|
-
|
12
|
-
tcpdump
|
11
|
+
パケットを tcpdump 形式のファイルに書き出すクラス。生成したファイルは
|
12
|
+
tcpdump や<A HREF="Capture.html#.open_offline"><CODE>Capture.open_offline</CODE></A>を使って読むことができます。
|
13
13
|
</DD>
|
14
|
-
<DT><H2
|
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
|
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
|
25
|
-
|
23
|
+
<VAR>capture</VAR>から取り込んだパケットを
|
24
|
+
<VAR>filename</VAR>に書き出すための<CODE>Dumper</CODE>を返し
|
25
|
+
ます。
|
26
26
|
</p>
|
27
27
|
</DL>
|
28
|
-
<DT><H2
|
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
|
43
|
-
<VAR>packet</VAR
|
44
|
-
|
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>
|