ruby-pcap 0.7.8

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.
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in libpcap.gemspec
4
+ gemspec
@@ -0,0 +1,47 @@
1
+ MANIFEST
2
+ README
3
+ README.ja
4
+ COPYING
5
+ ChangeLog
6
+ extconf.rb
7
+ ruby_pcap.h
8
+ Pcap.c
9
+ packet.c
10
+ ip_packet.c
11
+ tcp_packet.c
12
+ udp_packet.c
13
+ icmp_packet.c
14
+ lib/pcap_misc.rb
15
+ lib/pcaplet.rb
16
+ examples/test.rb
17
+ examples/tcpdump.rb
18
+ examples/httpdump.rb
19
+ examples/rewrite_time.rb
20
+ doc/index.html
21
+ doc/Pcap.html
22
+ doc/Capture.html
23
+ doc/Pcaplet.html
24
+ doc/Packet.html
25
+ doc/IPPacket.html
26
+ doc/TCPPacket.html
27
+ doc/UDPPacket.html
28
+ doc/ICMPPacket.html
29
+ doc/IPAddress.html
30
+ doc/Dumper.html
31
+ doc/Filter.html
32
+ doc/PcapError.html
33
+ doc/TruncatedPacket.html
34
+ doc-ja/index.html
35
+ doc-ja/Pcap.html
36
+ doc-ja/Capture.html
37
+ doc-ja/Pcaplet.html
38
+ doc-ja/Packet.html
39
+ doc-ja/IPPacket.html
40
+ doc-ja/TCPPacket.html
41
+ doc-ja/UDPPacket.html
42
+ doc-ja/ICMPPacket.html
43
+ doc-ja/IPAddress.html
44
+ doc-ja/Dumper.html
45
+ doc-ja/Filter.html
46
+ doc-ja/PcapError.html
47
+ doc-ja/TruncatedPacket.html
data/README ADDED
@@ -0,0 +1,47 @@
1
+ * Introduction
2
+
3
+ ruby-pcap is a ruby extension to LBL libpcap (Packet Capture library).
4
+ This library also includes classes to access TCP/IP header.
5
+
6
+ * Installation
7
+
8
+ Requirements:
9
+
10
+ - ruby-1.8.x or ruby-1.9.2
11
+ - libpcap (http://www.tcpdump.org/)
12
+
13
+ Compile:
14
+
15
+ If ruby supports dynamic link of extension module on your OS,
16
+ following commands will install ruby-pcap.
17
+
18
+ rake build
19
+ sudo gem install pkg/pcap*.gem
20
+
21
+ * Usage
22
+
23
+ See the documentation under the directory 'doc'.
24
+ Directory 'examples' contains some simple scripts.
25
+
26
+ * Author
27
+
28
+ Masaki Fukushima <fukusima@goto.info.waseda.ac.jp>
29
+
30
+ * Modifications by
31
+ Andrew Hobson <ahobson@gmail.com>
32
+
33
+ * OS X and Ruby 1.9.2 support by
34
+ Tim Jarratt <tjarratt@gmail.com>
35
+
36
+ * Performance Improvements and other great contributes by
37
+ Ilya Maykov
38
+
39
+ ruby-pcap is copyrighted free software by Masaki Fukushima.
40
+
41
+ You can redistribute it and/or modify it under the terms of
42
+ the GPL (GNU GENERAL PUBLIC LICENSE). See COPYING file about GPL.
43
+
44
+ THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
45
+ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
46
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. See the GPL for
47
+ more details.
@@ -0,0 +1,50 @@
1
+ * $B35MW(B
2
+
3
+ ruby-pcap $B$O(B Ruby $B$+$i(B LBL $B$N(B libpcap (Packet Capture library) $B$X%"%/(B
4
+ $B%;%9$9$k$?$a$N3HD%%i%$%V%i%j$G$9!#(BTCP/IP$B$N%X%C%@$N>pJs$K%"%/%;%9$9$k$?(B
5
+ $B$a$N%/%i%9$b4^$s$G$$$^$9!#(B
6
+
7
+ * $B%$%s%9%H!<%k(B
8
+
9
+ $BI,MW$J$b$N(B:
10
+
11
+ - ruby-1.4.x
12
+ - libpcap (http://www.tcpdump.org/)
13
+
14
+ $B%3%s%Q%$%k(B:
15
+
16
+ ruby $B$,3HD%%i%$%V%i%j$N%@%$%J%_%C%/%j%s%/$r%5%]!<%H$7$F$$$k>l9g$O!"(B
17
+ $B0J2<$N<j=g$G%$%s%9%H!<%k$G$-$^$9!#(B
18
+
19
+ ruby extconf.rb [options]
20
+ make
21
+ make install
22
+
23
+ 'ruby extconf.rb'$B$r<B9T$9$k;~$K$O0J2<$N%*%W%7%g%s$r;XDj$G$-$^$9!#(B
24
+
25
+ `--with-pcap-dir=PREFIX'
26
+ libpcap$B$,%$%s%9%H!<%k$5$l$F$$$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B
27
+ $B%G%U%)%k%H$O(B'/usr/local'$B$G$9!#(B
28
+
29
+ $B%@%$%J%_%C%/%j%s%/$,;H$($J$$>l9g$O(B ruby $B$K@EE*$K%j%s%/$7$F2<$5$$!#(B
30
+ $B$=$N>l9g$O(B ruby $B%=!<%9Cf$N(B 'ext' $B%G%#%l%/%H%j$N2<$G(B ruby-pcap $B$rE83+$7(B
31
+ $B$F$+$i(B ruby $B$r%S%k%I$7$F2<$5$$!#(B
32
+
33
+ * $B;H$$J}(B
34
+
35
+ doc $B$*$h$S(B doc-ja $B%G%#%l%/%H%j0J2<$K$"$k%U%!%$%k$r8+$F2<$5$$!#(B
36
+ examples $B%G%#%l%/%H%j$K4JC1$J%5%s%W%k%9%/%j%W%H$,$"$j$^$9!#(B
37
+
38
+ * $B:n<T(B
39
+
40
+ $BJ!Eh@55!(B <fukusima@goto.info.waseda.ac.jp>
41
+
42
+ ruby-pcap$B$OJ!Eh@55!$,Cx:n8"$rJ];}$9$k(B free software $B$G$9!#(B
43
+
44
+ ruby-pcap$B$O(BGPL(GNU GENERAL PUBLIC LICENSE)$B$K=>$C$F:FG[I[$^$?$O(B
45
+ $BJQ99$9$k$3$H$,$G$-$^$9!#(BGPL$B$K$D$$$F$O(BCOPYING$B%U%!%$%k$r;2>H$7$F(B
46
+ $B$/$@$5$$!#(B
47
+
48
+ ruby-pcap$B$OL5J]>Z$G$9!#:n<T$O(Bruby-pcap$B$N%P%0$J$I$+$iH/@8$9$k(B
49
+ $B$$$+$J$kB;32$KBP$7$F$b@UG$$r;}$A$^$;$s!#>\:Y$K$D$$$F$O(B GPL $B$r(B
50
+ $B;2>H$7$F$/$@$5$$!#(B
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.7.7
@@ -0,0 +1,147 @@
1
+ <HTML>
2
+ <!-- THIS FILE IS GENERATED FROM ANOTHER SOURCE FILE -->
3
+ <HEAD>
4
+ <TITLE>Capture</TITLE>
5
+ </HEAD>
6
+ <BODY BGCOLOR="ffffff">
7
+ <DL>
8
+ <DT><H1>Capture</H1></DT>
9
+ <DD>
10
+
11
+ �ѥ��åȥ���ץ����ɽ�����֥�������
12
+ </DD>
13
+ <DT><H2>�����ѡ����饹:</H2></DT>
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>
16
+ <DL>
17
+ <DT><A HREF="http://www.ruby-lang.org/ja/man-1.4/Enum.html"><CODE>Enumerable</CODE></A></DT>
18
+ </DL>
19
+ <DT><H2>���饹�᥽�å�:</H2></DT>
20
+ <DL COMPACT>
21
+ <DT>
22
+ <A NAME=".open_live"><CODE>open_live(<var>device</var>[, <var>snaplen</var>[, <var>promisc</var>[, <var>to_ms</var>]]])</CODE></A>
23
+ <DD>
24
+ <p>
25
+
26
+ �ǥХ����򥪡��ץ󤷤� <CODE>Capture</CODE> ���֥������Ȥ���
27
+ ���ޤ���
28
+ <VAR>snaplen</VAR>, <VAR>promisc</VAR>,
29
+ <VAR>to_ms</VAR> �Υǥե�����ͤϤ��줾�� 68 �����ƥå�,
30
+ <CODE>true</CODE>, 1000 �ߥ��äǤ���
31
+ </p>
32
+ <DT>
33
+ <A NAME=".open_offline"><CODE>open_offline(<var>filename</var>)</CODE></A>
34
+ <DD>
35
+ <p>
36
+
37
+ <VAR>filename</VAR> �ǻ��ꤵ�줿�ե�����򥪡��ץ󤷤�
38
+ <CODE>Capture</CODE>���֥������Ȥ��֤��ޤ���
39
+ </p>
40
+ </DL>
41
+ <DT><H2>�᥽�å�:</H2></DT>
42
+ <DL COMPACT>
43
+ <DT>
44
+ <A NAME="close"><CODE>close</CODE></A>
45
+ <DD>
46
+ <p>
47
+
48
+ <CODE>Capture</CODE>���֥������Ȥ򥯥��������ޤ���
49
+ </p>
50
+ <DT>
51
+ <A NAME="datalink"><CODE>datalink</CODE></A>
52
+ <DD>
53
+ <p>
54
+
55
+ �ǡ�����󥯤Υ����פ�ɽ���������֤��ޤ���
56
+ (<A HREF="Pcap.html#::DLT_EN10MB"><CODE>DLT_EN10MB</CODE></A> ��)
57
+ </p>
58
+ <DT>
59
+ <A NAME="dispatch"><CODE>dispatch([<var>count</var>]) {|<var>packet</var>|...}</CODE></A>
60
+ <DD>
61
+ <p>
62
+
63
+ <P>
64
+
65
+ �ƥѥ��åȤ��Ф��Ʒ����֤��ޤ����֥��å��ˤ�
66
+ <A HREF="Packet.html"><CODE>Packet</CODE></A>�����Υ��֥��饹�Υ��󥹥��󥹤��Ϥ���ޤ���
67
+ </P>
68
+
69
+ <P>
70
+
71
+ <VAR>count</VAR> �ˤϽ�������ѥ��åȤκ��������ꤷ�ޤ���
72
+ <VAR>count</VAR> �� -1 ����ꤹ��ȥХåե������äƤ����
73
+ ���å����Ƥ�������ޤ���<VAR>count</VAR> �� 0 ����ꤹ���
74
+ ���顼���ե�����ν���꤫�����ॢ���Ȥ�ã����ޤǥѥ��å�
75
+ ��������ޤ���
76
+ <VAR>count</VAR> �Υǥե�����ͤ� -1 �Ǥ���
77
+ </P>
78
+
79
+ </p>
80
+ <DT>
81
+ <A NAME="each_packet"><CODE>each_packet([<var>count</var>]) {|<var>packet</var>|...}</CODE></A>
82
+ <DD>
83
+ <DT>
84
+ <A NAME="each"><CODE>each([<var>count</var>]) {|<var>packet</var>|...}</CODE></A>
85
+ <DD>
86
+ <DT>
87
+ <A NAME="loop"><CODE>loop([<var>count</var>]) {|<var>packet</var>|...}</CODE></A>
88
+ <DD>
89
+ <p>
90
+
91
+ <P>
92
+
93
+ �ƥѥ��åȤ��Ф��Ʒ����֤��ޤ����֥��å��ˤ�
94
+ <A HREF="Packet.html"><CODE>Packet</CODE></A>�����Υ��֥��饹�Υ��󥹥��󥹤��Ϥ���ޤ���
95
+ </P>
96
+
97
+ <P>
98
+
99
+ <VAR>count</VAR> �ˤϽ�������ѥ��åȤκ��������ꤷ�ޤ���
100
+ <VAR>count</VAR> ����ο�����ꤹ��ȥ��顼���ե�����ν���
101
+ ���ã����ޤǥѥ��åȤ�������ޤ���<VAR>count</VAR> �Υǥե�
102
+ ����ͤ� -1 �Ǥ���
103
+ </P>
104
+
105
+ </p>
106
+ <DT>
107
+ <A NAME="snapshot"><CODE>snapshot</CODE></A>
108
+ <DD>
109
+ <DT>
110
+ <A NAME="snaplen"><CODE>snaplen</CODE></A>
111
+ <DD>
112
+ <p>
113
+
114
+ snapshot ��Ĺ�����֤��ޤ���
115
+ </p>
116
+ <DT>
117
+ <A NAME="setfilter"><CODE>setfilter(<var>filter</var>[, <var>optimize</var>])</CODE></A>
118
+ <DD>
119
+ <p>
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> �Ǥ���
126
+ </p>
127
+ <DT>
128
+ <A NAME="stats"><CODE>stats</CODE></A>
129
+ <DD>
130
+ <p>
131
+
132
+ �ѥ��åȥ���ץ���ˤĤ��Ƥ����פ�ޤ� <A HREF="http://www.ruby-lang.org/ja/man-1.4/Struct.html"><CODE>Struct</CODE></A>
133
+ ���֤��ޤ�����¤�Τϰʲ��Υ��Ф�����ޤ���
134
+ <BLOCKQUOTE>
135
+ <DL COMPACT>
136
+ <DT><CODE>recv</CODE></DT><DD>���������ѥ��åȤο�</DD><DT><CODE>drop</CODE></DT><DD>��ꤳ�ܤ��������ѥ��åȤο�</DD></DL>
137
+ </BLOCKQUOTE>
138
+
139
+ </p>
140
+ </DL>
141
+ </DL>
142
+ <HR>
143
+ <P ALIGN="RIGHT">
144
+ <A HREF="mailto:fukusima@goto.info.waseda.ac.jp">fukusima@goto.info.waseda.ac.jp</A><BR>
145
+ </P>
146
+ </BODY>
147
+ </HTML>
@@ -0,0 +1,54 @@
1
+ <HTML>
2
+ <!-- THIS FILE IS GENERATED FROM ANOTHER SOURCE FILE -->
3
+ <HEAD>
4
+ <TITLE>Dumper</TITLE>
5
+ </HEAD>
6
+ <BODY BGCOLOR="ffffff">
7
+ <DL>
8
+ <DT><H1>Dumper</H1></DT>
9
+ <DD>
10
+
11
+ �ѥ��åȤ� tcpdump �����Υե�����˽񤭽Ф����饹�����������ե������
12
+ tcpdump ��<A HREF="Capture.html#.open_offline"><CODE>Capture.open_offline</CODE></A>��Ȥä��ɤळ�Ȥ��Ǥ��ޤ���
13
+ </DD>
14
+ <DT><H2>�����ѡ����饹:</H2></DT>
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>
17
+ <DL COMPACT>
18
+ <DT>
19
+ <A NAME=".open"><CODE>open(<var>capture</var>, <var>filename</var>)</CODE></A>
20
+ <DD>
21
+ <p>
22
+
23
+ <VAR>capture</VAR>�����������ѥ��åȤ�
24
+ <VAR>filename</VAR>�˽񤭽Ф������<CODE>Dumper</CODE>���֤�
25
+ �ޤ���
26
+ </p>
27
+ </DL>
28
+ <DT><H2>�᥽�å�:</H2></DT>
29
+ <DL COMPACT>
30
+ <DT>
31
+ <A NAME="close"><CODE>close</CODE></A>
32
+ <DD>
33
+ <p>
34
+
35
+ <CODE>Dumper</CODE>���֥������Ȥ򥯥��������ޤ���
36
+ </p>
37
+ <DT>
38
+ <A NAME="dump"><CODE>dump(<var>packet</var>)</CODE></A>
39
+ <DD>
40
+ <p>
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
+ ����
46
+ </p>
47
+ </DL>
48
+ </DL>
49
+ <HR>
50
+ <P ALIGN="RIGHT">
51
+ <A HREF="mailto:fukusima@goto.info.waseda.ac.jp">fukusima@goto.info.waseda.ac.jp</A><BR>
52
+ </P>
53
+ </BODY>
54
+ </HTML>
@@ -0,0 +1,112 @@
1
+ <HTML>
2
+ <!-- THIS FILE IS GENERATED FROM ANOTHER SOURCE FILE -->
3
+ <HEAD>
4
+ <TITLE>Filter</TITLE>
5
+ </HEAD>
6
+ <BODY BGCOLOR="ffffff">
7
+ <DL>
8
+ <DT><H1>Filter</H1></DT>
9
+ <DD>
10
+
11
+ <CODE>Filter</CODE> �ϥѥ��åȤ���������˥ޥå����뤫��
12
+ ������Ƚ�ꤷ�ޤ���<CODE>Filter</CODE> �ϼºݤˤ�
13
+ <CODE>bpf_program</CODE> �ؤΥ�åѡ��Ȥ��ƺ���Ƥ��ޤ���
14
+ �ե��륿�ε�����ˡ�˴ؤ��Ƥ� <CODE>tcpdump(1)</CODE>
15
+ �򻲾Ȥ��Ʋ�������
16
+ </DD>
17
+ <DT><H2>�����ѡ����饹:</H2></DT>
18
+ <DD><DL><DT><A HREF="http://www.ruby-lang.org/ja/man-1.4/Object.html"><CODE>Object</CODE></A></DT></DL></DD>
19
+ <DT><H2>���饹�᥽�å�:</H2></DT>
20
+ <DL COMPACT>
21
+ <DT>
22
+ <A NAME=".compile"><CODE>compile(<var>expr</var>, <var>capture</var>[, <var>optimize</var>[, <var>netmask</var>]])</CODE></A>
23
+ <DD>
24
+ <DT>
25
+ <A NAME=".new"><CODE>new(<var>expr</var>, <var>capture</var>[, <var>optimize</var>[, <var>netmask</var>]])</CODE></A>
26
+ <DD>
27
+ <p>
28
+
29
+ <P>
30
+
31
+ <CODE>Filter</CODE>���֥������Ȥ��������ޤ���
32
+ <VAR>expr</VAR> �ϥե��륿��ʸ����Ǥ���<VAR>capture</VAR>
33
+ �� <A HREF="Capture.html"><CODE>Capture</CODE></A> ���֥������ȤǤ���<VAR>optimize</VAR>
34
+ �Ǻ�Ŭ����Ԥ����ɤ��������椷�ޤ���
35
+ <VAR>netmask</VAR> �ˤ���������ͥåȤΥͥåȥޥ���
36
+ ����ꤷ�ޤ���
37
+ </P>
38
+
39
+ <P>
40
+
41
+ �������줿 <CODE>Filter</CODE> �� <VAR>capture</VAR>
42
+ ��������ޤ줿�ѥ��åȤ��Ф��ƤΤ�Ŭ�ѤǤ��ޤ���
43
+ </P>
44
+
45
+ <P>
46
+
47
+ <A HREF="http://www.tcpdump.org/"><CODE>libpcap-0.5�ʹ�</CODE></A>
48
+ ����Ѥ��Ƥ�����ˤ� <VAR>capture</VAR>
49
+ ����ʬ�ˡ��ʲ����ͤ���ꤹ�뤳�Ȥ�Ǥ��ޤ���
50
+ <BLOCKQUOTE>
51
+ <DL COMPACT>
52
+ <DT><CODE>[snaplen, datalink]</CODE></DT><DD>�����ɬ�פʥѥ�᡼����ľ��Ϳ����</DD><DT>��ά (�ޤ���<CODE>nil</CODE>)</DT><DD>Ethernet�ǤΥǥե���ȤȤߤʤ�
53
+ (<CODE>[68, <A HREF="Pcap.html#::DLT_EN10MB"><CODE>DLT_EN10MB</CODE></A>]</CODE>)
54
+ </DD></DL>
55
+ </BLOCKQUOTE>
56
+
57
+ </P>
58
+
59
+ </p>
60
+ </DL>
61
+ <DT><H2>�᥽�å�:</H2></DT>
62
+ <DL COMPACT>
63
+ <DT>
64
+ <A NAME="==="><CODE>self === <var>packet</var></CODE></A>
65
+ <DD>
66
+ <DT>
67
+ <A NAME="=~"><CODE>self =~ <var>packet</var></CODE></A>
68
+ <DD>
69
+ <p>
70
+
71
+ <VAR>packet</VAR> �����Υե��륿�˥ޥå������true����
72
+ ���ޤ���
73
+ </p>
74
+ <DT>
75
+ <A NAME="~self"><CODE>~ self</CODE></A>
76
+ <DD>
77
+ <p>
78
+
79
+ �� <CODE>self</CODE>�ǤϤʤ��פȤ�������ɽ
80
+ ��<CODE>Filter</CODE>���֤��ޤ���
81
+ </p>
82
+ <DT>
83
+ <A NAME="|"><CODE>self | <var>other</var></CODE></A>
84
+ <DD>
85
+ <p>
86
+
87
+ �� <CODE>self</CODE>�ޤ���<VAR>other</VAR> �פȤ�������ɽ
88
+ ��<CODE>Filter</CODE>���֤��ޤ���
89
+ </p>
90
+ <DT>
91
+ <A NAME="&amp;"><CODE>self &amp; <var>other</var></CODE></A>
92
+ <DD>
93
+ <p>
94
+
95
+ �� <CODE>self</CODE>����<VAR>other</VAR> �פȤ�������ɽ
96
+ ��<CODE>Filter</CODE>���֤��ޤ���
97
+ </p>
98
+ <DT>
99
+ <A NAME="source"><CODE>source</CODE></A>
100
+ <DD>
101
+ <p>
102
+
103
+ �ե��륿�θ��Ȥʤä�ʸ������֤��ޤ���
104
+ </p>
105
+ </DL>
106
+ </DL>
107
+ <HR>
108
+ <P ALIGN="RIGHT">
109
+ <A HREF="mailto:fukusima@goto.info.waseda.ac.jp">fukusima@goto.info.waseda.ac.jp</A><BR>
110
+ </P>
111
+ </BODY>
112
+ </HTML>