packetfu 1.1.11 → 1.1.12.pre

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.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.rspec +2 -0
  4. data/.travis.yml +2 -3
  5. data/README.md +127 -0
  6. data/examples/100kpackets.rb +11 -10
  7. data/examples/ackscan.rb +4 -1
  8. data/examples/arp.rb +4 -5
  9. data/examples/arphood.rb +5 -4
  10. data/examples/dissect_thinger.rb +10 -7
  11. data/examples/ethernet.rb +8 -3
  12. data/examples/ids.rb +22 -4
  13. data/examples/idsv2.rb +25 -6
  14. data/examples/ifconfig.rb +6 -3
  15. data/examples/new-simple-stats.rb +5 -6
  16. data/examples/packetfu-shell.rb +11 -48
  17. data/examples/pcap2pcapng.rb +32 -0
  18. data/examples/simple-sniffer.rb +9 -4
  19. data/examples/simple-stats.rb +7 -8
  20. data/examples/slammer.rb +2 -2
  21. data/examples/uniqpcap.rb +17 -7
  22. data/lib/packetfu.rb +10 -175
  23. data/lib/packetfu/capture.rb +2 -2
  24. data/lib/packetfu/common.rb +142 -0
  25. data/lib/packetfu/config.rb +8 -8
  26. data/lib/packetfu/inject.rb +3 -3
  27. data/lib/packetfu/packet.rb +22 -18
  28. data/lib/packetfu/pcap.rb +2 -1
  29. data/lib/packetfu/pcapng.rb +37 -0
  30. data/lib/packetfu/pcapng/block.rb +25 -0
  31. data/lib/packetfu/pcapng/epb.rb +112 -0
  32. data/lib/packetfu/pcapng/file.rb +316 -0
  33. data/lib/packetfu/pcapng/idb.rb +125 -0
  34. data/lib/packetfu/pcapng/shb.rb +146 -0
  35. data/lib/packetfu/pcapng/spb.rb +83 -0
  36. data/lib/packetfu/pcapng/unknown_block.rb +60 -0
  37. data/lib/packetfu/protos.rb +3 -0
  38. data/lib/packetfu/protos/arp.rb +10 -10
  39. data/lib/packetfu/protos/icmpv6.rb +131 -0
  40. data/lib/packetfu/protos/icmpv6/header.rb +69 -0
  41. data/lib/packetfu/protos/icmpv6/mixin.rb +14 -0
  42. data/lib/packetfu/protos/ip.rb +4 -5
  43. data/lib/packetfu/protos/ipv6/header.rb +2 -0
  44. data/lib/packetfu/protos/udp.rb +24 -12
  45. data/lib/packetfu/structfu.rb +27 -0
  46. data/lib/packetfu/utils.rb +55 -9
  47. data/lib/packetfu/version.rb +1 -1
  48. data/packetfu.gemspec +13 -7
  49. data/spec/arp_spec.rb +11 -5
  50. data/spec/eth_spec.rb +20 -11
  51. data/spec/fake_packets.rb +28 -0
  52. data/spec/hsrp_spec.rb +15 -0
  53. data/spec/icmp_spec.rb +12 -5
  54. data/spec/icmpv6_spec.rb +98 -0
  55. data/spec/invalid_spec.rb +28 -0
  56. data/spec/ip_spec.rb +10 -5
  57. data/spec/ipv4_icmp.pcap +0 -0
  58. data/spec/ipv4_udp.pcap +0 -0
  59. data/spec/ipv6_icmp.pcap +0 -0
  60. data/spec/ipv6_spec.rb +4 -0
  61. data/spec/ipv6_udp.pcap +0 -0
  62. data/spec/lldp_spec.rb +36 -0
  63. data/spec/octets_spec.rb +43 -0
  64. data/spec/packet_spec.rb +24 -0
  65. data/spec/packetfu_spec.rb +6 -1
  66. data/spec/pcap_spec.rb +286 -0
  67. data/spec/pcapng/epb_spec.rb +81 -0
  68. data/spec/pcapng/file_spec.rb +295 -0
  69. data/spec/pcapng/file_spec_helper.rb +45 -0
  70. data/spec/pcapng/idb_spec.rb +53 -0
  71. data/spec/pcapng/shb_spec.rb +42 -0
  72. data/spec/pcapng/spb_spec.rb +43 -0
  73. data/spec/pcapng/unknown_block_spec.rb +36 -0
  74. data/spec/spec_helper.rb +3 -31
  75. data/spec/tcp_spec.rb +4 -1
  76. data/spec/udp_spec.rb +149 -1
  77. data/spec/utils_spec.rb +98 -15
  78. data/test/pcapng-test/output_be/advanced/test100.pcapng +0 -0
  79. data/test/pcapng-test/output_be/advanced/test100.txt +11 -0
  80. data/test/pcapng-test/output_be/advanced/test101.pcapng +0 -0
  81. data/test/pcapng-test/output_be/advanced/test101.txt +11 -0
  82. data/test/pcapng-test/output_be/advanced/test102.pcapng +0 -0
  83. data/test/pcapng-test/output_be/advanced/test102.txt +14 -0
  84. data/test/pcapng-test/output_be/basic/test001.pcapng +0 -0
  85. data/test/pcapng-test/output_be/basic/test001.txt +9 -0
  86. data/test/pcapng-test/output_be/basic/test002.pcapng +0 -0
  87. data/test/pcapng-test/output_be/basic/test002.txt +7 -0
  88. data/test/pcapng-test/output_be/basic/test003.pcapng +0 -0
  89. data/test/pcapng-test/output_be/basic/test003.txt +8 -0
  90. data/test/pcapng-test/output_be/basic/test004.pcapng +0 -0
  91. data/test/pcapng-test/output_be/basic/test004.txt +9 -0
  92. data/test/pcapng-test/output_be/basic/test005.pcapng +0 -0
  93. data/test/pcapng-test/output_be/basic/test005.txt +9 -0
  94. data/test/pcapng-test/output_be/basic/test006.pcapng +0 -0
  95. data/test/pcapng-test/output_be/basic/test006.txt +9 -0
  96. data/test/pcapng-test/output_be/basic/test007.pcapng +0 -0
  97. data/test/pcapng-test/output_be/basic/test007.txt +9 -0
  98. data/test/pcapng-test/output_be/basic/test008.pcapng +0 -0
  99. data/test/pcapng-test/output_be/basic/test008.txt +9 -0
  100. data/test/pcapng-test/output_be/basic/test009.pcapng +0 -0
  101. data/test/pcapng-test/output_be/basic/test009.txt +9 -0
  102. data/test/pcapng-test/output_be/basic/test010.pcapng +0 -0
  103. data/test/pcapng-test/output_be/basic/test010.txt +9 -0
  104. data/test/pcapng-test/output_be/basic/test011.pcapng +0 -0
  105. data/test/pcapng-test/output_be/basic/test011.txt +10 -0
  106. data/test/pcapng-test/output_be/basic/test012.pcapng +0 -0
  107. data/test/pcapng-test/output_be/basic/test012.txt +10 -0
  108. data/test/pcapng-test/output_be/basic/test013.pcapng +0 -0
  109. data/test/pcapng-test/output_be/basic/test013.txt +9 -0
  110. data/test/pcapng-test/output_be/basic/test014.pcapng +0 -0
  111. data/test/pcapng-test/output_be/basic/test014.txt +9 -0
  112. data/test/pcapng-test/output_be/basic/test015.pcapng +0 -0
  113. data/test/pcapng-test/output_be/basic/test015.txt +9 -0
  114. data/test/pcapng-test/output_be/basic/test016.pcapng +0 -0
  115. data/test/pcapng-test/output_be/basic/test016.txt +11 -0
  116. data/test/pcapng-test/output_be/basic/test017.pcapng +0 -0
  117. data/test/pcapng-test/output_be/basic/test017.txt +9 -0
  118. data/test/pcapng-test/output_be/basic/test018.pcapng +0 -0
  119. data/test/pcapng-test/output_be/basic/test018.txt +12 -0
  120. data/test/pcapng-test/output_be/difficult/test200.pcapng +0 -0
  121. data/test/pcapng-test/output_be/difficult/test200.txt +8 -0
  122. data/test/pcapng-test/output_be/difficult/test201.pcapng +0 -0
  123. data/test/pcapng-test/output_be/difficult/test201.txt +11 -0
  124. data/test/pcapng-test/output_be/difficult/test202.pcapng +0 -0
  125. data/test/pcapng-test/output_be/difficult/test202.txt +14 -0
  126. data/test/pcapng-test/output_le/advanced/test100.pcapng +0 -0
  127. data/test/pcapng-test/output_le/advanced/test100.txt +11 -0
  128. data/test/pcapng-test/output_le/advanced/test101.pcapng +0 -0
  129. data/test/pcapng-test/output_le/advanced/test101.txt +11 -0
  130. data/test/pcapng-test/output_le/advanced/test102.pcapng +0 -0
  131. data/test/pcapng-test/output_le/advanced/test102.txt +14 -0
  132. data/test/pcapng-test/output_le/basic/test001.pcapng +0 -0
  133. data/test/pcapng-test/output_le/basic/test001.txt +9 -0
  134. data/test/pcapng-test/output_le/basic/test002.pcapng +0 -0
  135. data/test/pcapng-test/output_le/basic/test002.txt +7 -0
  136. data/test/pcapng-test/output_le/basic/test003.pcapng +0 -0
  137. data/test/pcapng-test/output_le/basic/test003.txt +8 -0
  138. data/test/pcapng-test/output_le/basic/test004.pcapng +0 -0
  139. data/test/pcapng-test/output_le/basic/test004.txt +9 -0
  140. data/test/pcapng-test/output_le/basic/test005.pcapng +0 -0
  141. data/test/pcapng-test/output_le/basic/test005.txt +9 -0
  142. data/test/pcapng-test/output_le/basic/test006.pcapng +0 -0
  143. data/test/pcapng-test/output_le/basic/test006.txt +9 -0
  144. data/test/pcapng-test/output_le/basic/test007.pcapng +0 -0
  145. data/test/pcapng-test/output_le/basic/test007.txt +9 -0
  146. data/test/pcapng-test/output_le/basic/test008.pcapng +0 -0
  147. data/test/pcapng-test/output_le/basic/test008.txt +9 -0
  148. data/test/pcapng-test/output_le/basic/test009.pcapng +0 -0
  149. data/test/pcapng-test/output_le/basic/test009.txt +9 -0
  150. data/test/pcapng-test/output_le/basic/test010.pcapng +0 -0
  151. data/test/pcapng-test/output_le/basic/test010.txt +9 -0
  152. data/test/pcapng-test/output_le/basic/test011.pcapng +0 -0
  153. data/test/pcapng-test/output_le/basic/test011.txt +10 -0
  154. data/test/pcapng-test/output_le/basic/test012.pcapng +0 -0
  155. data/test/pcapng-test/output_le/basic/test012.txt +10 -0
  156. data/test/pcapng-test/output_le/basic/test013.pcapng +0 -0
  157. data/test/pcapng-test/output_le/basic/test013.txt +9 -0
  158. data/test/pcapng-test/output_le/basic/test014.pcapng +0 -0
  159. data/test/pcapng-test/output_le/basic/test014.txt +9 -0
  160. data/test/pcapng-test/output_le/basic/test015.pcapng +0 -0
  161. data/test/pcapng-test/output_le/basic/test015.txt +9 -0
  162. data/test/pcapng-test/output_le/basic/test016.pcapng +0 -0
  163. data/test/pcapng-test/output_le/basic/test016.txt +11 -0
  164. data/test/pcapng-test/output_le/basic/test017.pcapng +0 -0
  165. data/test/pcapng-test/output_le/basic/test017.txt +9 -0
  166. data/test/pcapng-test/output_le/basic/test018.pcapng +0 -0
  167. data/test/pcapng-test/output_le/basic/test018.txt +12 -0
  168. data/test/pcapng-test/output_le/difficult/test200.pcapng +0 -0
  169. data/test/pcapng-test/output_le/difficult/test200.txt +8 -0
  170. data/test/pcapng-test/output_le/difficult/test201.pcapng +0 -0
  171. data/test/pcapng-test/output_le/difficult/test201.txt +11 -0
  172. data/test/pcapng-test/output_le/difficult/test202.pcapng +0 -0
  173. data/test/pcapng-test/output_le/difficult/test202.txt +14 -0
  174. data/test/sample-ipv6.pcapng +0 -0
  175. data/test/sample-spb.pcapng +0 -0
  176. data/test/sample.pcapng +0 -0
  177. data/test/sample2.pcapng +0 -0
  178. metadata +190 -68
  179. checksums.yaml.gz.sig +0 -0
  180. data.tar.gz.sig +0 -2
  181. data/INSTALL.rdoc +0 -40
  182. data/README.rdoc +0 -64
  183. data/examples/examples.rb +0 -4
  184. data/setup.rb +0 -1586
  185. data/test/func_lldp.rb +0 -25
  186. data/test/ptest.rb +0 -16
  187. data/test/test_eth.rb +0 -93
  188. data/test/test_hsrp.rb +0 -20
  189. data/test/test_invalid.rb +0 -28
  190. data/test/test_octets.rb +0 -36
  191. data/test/test_pcap.rb +0 -211
  192. data/test/test_udp.rb +0 -100
  193. metadata.gz.sig +0 -2
@@ -0,0 +1,14 @@
1
+ Description: Multiple SHB sections of different endianness, all other blocks
2
+ Category: difficult
3
+
4
+ Block counts:
5
+ CB: 1
6
+ DCB: 2
7
+ EPB: 6
8
+ IDB: 5
9
+ ISB: 4
10
+ NRB: 5
11
+ SHB: 3
12
+ SPB: 2
13
+
14
+ Block sequence: SHB, IDB, NRB, IDB, CB, NRB, EPB, ISB, EPB, EPB, SHB, IDB, SPB, EPB, DCB, NRB, NRB, ISB, SPB, EPB, SHB, NRB, IDB, DCB, IDB, ISB, ISB, EPB
@@ -0,0 +1,11 @@
1
+ Description: NRB with IPv4+6, unknown types, duplicate entries, etc.
2
+ Category: advanced
3
+
4
+ Block counts:
5
+ EPB: 3
6
+ IDB: 3
7
+ NRB: 5
8
+ SHB: 1
9
+ SPB: 2
10
+
11
+ Block sequence: SHB, IDB, NRB, SPB, NRB, IDB, NRB, EPB, IDB, NRB, SPB, EPB, EPB, NRB
@@ -0,0 +1,11 @@
1
+ Description: Duplicate ISBs with various options, intermixed in EPB/SPB
2
+ Category: advanced
3
+
4
+ Block counts:
5
+ EPB: 3
6
+ IDB: 3
7
+ ISB: 6
8
+ SHB: 1
9
+ SPB: 1
10
+
11
+ Block sequence: SHB, IDB, IDB, EPB, ISB, ISB, ISB, IDB, EPB, ISB, SPB, ISB, EPB, ISB
@@ -0,0 +1,14 @@
1
+ Description: All block types, intermixed
2
+ Category: advanced
3
+
4
+ Block counts:
5
+ CB: 1
6
+ DCB: 2
7
+ EPB: 4
8
+ IDB: 3
9
+ ISB: 6
10
+ NRB: 3
11
+ SHB: 1
12
+ SPB: 1
13
+
14
+ Block sequence: SHB, CB, NRB, IDB, IDB, ISB, EPB, ISB, ISB, DCB, IDB, EPB, ISB, SPB, NRB, EPB, ISB, EPB, DCB, NRB, ISB
@@ -0,0 +1,9 @@
1
+ Description: Basic normal pcapng file
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 4
6
+ IDB: 1
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, EPB, EPB, EPB, EPB
@@ -0,0 +1,7 @@
1
+ Description: Empty - only SHB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ SHB: 1
6
+
7
+ Block sequence: SHB
@@ -0,0 +1,8 @@
1
+ Description: Empty - only SHB and IDB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ IDB: 1
6
+ SHB: 1
7
+
8
+ Block sequence: SHB, IDB
@@ -0,0 +1,9 @@
1
+ Description: Two IDBs same linktype, different snaplen
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 4
6
+ IDB: 2
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, IDB, EPB, EPB, EPB, EPB
@@ -0,0 +1,9 @@
1
+ Description: 2 IDBs separated by EPB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 4
6
+ IDB: 2
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, EPB, IDB, EPB, EPB, EPB
@@ -0,0 +1,9 @@
1
+ Description: Two IDBs different linktype
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 5
6
+ IDB: 2
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, IDB, EPB, EPB, EPB, EPB, EPB
@@ -0,0 +1,9 @@
1
+ Description: SHB with all options
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 1
6
+ IDB: 1
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, EPB
@@ -0,0 +1,9 @@
1
+ Description: 2 IDBs with all options
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 4
6
+ IDB: 2
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, EPB, IDB, EPB, EPB, EPB
@@ -0,0 +1,9 @@
1
+ Description: EPBs with all options
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 2
6
+ IDB: 1
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, EPB, EPB
@@ -0,0 +1,9 @@
1
+ Description: SPBs
2
+ Category: basic
3
+
4
+ Block counts:
5
+ IDB: 1
6
+ SHB: 1
7
+ SPB: 4
8
+
9
+ Block sequence: SHB, IDB, SPB, SPB, SPB, SPB
@@ -0,0 +1,10 @@
1
+ Description: Mix of SPBs and EPBs
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 2
6
+ IDB: 1
7
+ SHB: 1
8
+ SPB: 2
9
+
10
+ Block sequence: SHB, IDB, SPB, EPB, SPB, EPB
@@ -0,0 +1,10 @@
1
+ Description: SPBs and EPBs with IDB snaplen bigger than some, less than others
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 2
6
+ IDB: 1
7
+ SHB: 1
8
+ SPB: 2
9
+
10
+ Block sequence: SHB, IDB, SPB, SPB, EPB, EPB
@@ -0,0 +1,9 @@
1
+ Description: Empty - only SHB, IDB, and ISB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ IDB: 1
6
+ ISB: 1
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, ISB
@@ -0,0 +1,9 @@
1
+ Description: Empty - only SHB, multiple IDB and ISB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ IDB: 3
6
+ ISB: 3
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, IDB, ISB, ISB, IDB, ISB
@@ -0,0 +1,9 @@
1
+ Description: Empty - only SHB, IDB, and NRB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ IDB: 1
6
+ NRB: 1
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, IDB, NRB
@@ -0,0 +1,11 @@
1
+ Description: Multiple NRB among SPB/EPB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ EPB: 2
6
+ IDB: 1
7
+ NRB: 3
8
+ SHB: 1
9
+ SPB: 2
10
+
11
+ Block sequence: SHB, IDB, NRB, SPB, EPB, NRB, SPB, EPB, NRB
@@ -0,0 +1,9 @@
1
+ Description: Empty - only SHB and CB/DCB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ CB: 2
6
+ DCB: 2
7
+ SHB: 1
8
+
9
+ Block sequence: SHB, CB, DCB, CB, DCB
@@ -0,0 +1,12 @@
1
+ Description: Multiple CB/DCB among SPB/EPB
2
+ Category: basic
3
+
4
+ Block counts:
5
+ CB: 2
6
+ DCB: 2
7
+ EPB: 2
8
+ IDB: 1
9
+ SHB: 1
10
+ SPB: 2
11
+
12
+ Block sequence: SHB, IDB, CB, SPB, EPB, DCB, SPB, CB, EPB, DCB
@@ -0,0 +1,8 @@
1
+ Description: Empty - only SHB and IDB, but repeated so multiple SHB
2
+ Category: difficult
3
+
4
+ Block counts:
5
+ IDB: 3
6
+ SHB: 3
7
+
8
+ Block sequence: SHB, IDB, SHB, IDB, SHB, IDB
@@ -0,0 +1,11 @@
1
+ Description: ISBs with various options, in different SHB sections
2
+ Category: difficult
3
+
4
+ Block counts:
5
+ EPB: 3
6
+ IDB: 5
7
+ ISB: 4
8
+ SHB: 3
9
+ SPB: 1
10
+
11
+ Block sequence: SHB, IDB, IDB, EPB, ISB, SHB, IDB, EPB, ISB, SPB, SHB, IDB, IDB, ISB, EPB, ISB
@@ -0,0 +1,14 @@
1
+ Description: Multiple SHB sections of different endianness, all other blocks
2
+ Category: difficult
3
+
4
+ Block counts:
5
+ CB: 1
6
+ DCB: 2
7
+ EPB: 6
8
+ IDB: 5
9
+ ISB: 4
10
+ NRB: 5
11
+ SHB: 3
12
+ SPB: 2
13
+
14
+ Block sequence: SHB, IDB, NRB, IDB, CB, NRB, EPB, ISB, EPB, EPB, SHB, IDB, SPB, EPB, DCB, NRB, NRB, ISB, SPB, EPB, SHB, NRB, IDB, DCB, IDB, ISB, ISB, EPB
Binary file
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,51 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packetfu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.11
4
+ version: 1.1.12.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tod Beardsley
8
+ - Jonathan Claudius
8
9
  autorequire:
9
10
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDbDCCAlSgAwIBAgIBATANBgkqhkiG9w0BAQUFADA+MQ0wCwYDVQQDDAR0b2Ri
14
- MRgwFgYKCZImiZPyLGQBGRYIcGFja2V0ZnUxEzARBgoJkiaJk/IsZAEZFgNjb20w
15
- HhcNMTUwODI1MTQ1MzQ2WhcNMTYwODI0MTQ1MzQ2WjA+MQ0wCwYDVQQDDAR0b2Ri
16
- MRgwFgYKCZImiZPyLGQBGRYIcGFja2V0ZnUxEzARBgoJkiaJk/IsZAEZFgNjb20w
17
- ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDl/jdqB/u4WnnAV7ds6U7r
18
- kffHRJCMc1+s0lvjnWMnZuegjJkuElm0jNQnkUzNqhJGI2NVDc1COoT6VHsEPRi8
19
- uD8po+7pisLwqUHIyx8PFu+pGSRGawEgAPT5DfEf9MwGTob1G9vm1Hv7rTMN+S1X
20
- nMIxpFwiMilhLKdoTEZAo0moFbWEVK4ZuEaNkPXGxFKEdnpyb8Fi+/akzwWtwRp1
21
- ByJktlF3YIZgAimvY/PtV0V1n+Mktoz+706EUDe/ZnD8M+o6orzqryCiQrqdzJyk
22
- cPv7u1RuG1VPC8mK5TmB9lqlMPi/hxbjC4LfhJsZYoO1AF6baZ8HzqCISInBLwyd
23
- AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBS/B6/d
24
- CN84yx061Q/xqilGxY4qqTAcBgNVHREEFTATgRF0b2RiQHBhY2tldGZ1LmNvbTAc
25
- BgNVHRIEFTATgRF0b2RiQHBhY2tldGZ1LmNvbTANBgkqhkiG9w0BAQUFAAOCAQEA
26
- Oz/R618bt2/QxwL1wM6bP/yb+xNd/DR8aOUeKZwarfWuo6zhVY03qiydlElHU0YJ
27
- Rl0/JGQIHNVUzIr3J/QXv225LUECYTejPKC8LcELdfjSfUwzTd75zrGisL0//a4m
28
- +Zcv8PSfdOCug3jj5EDMVZe/sX7G4vEqM81SaQaUYFltKGk2YUrlYJsNGW6Yp4As
29
- c4y7lD0Rc4OsaoWT5ozhFBJv1qSuoL1y1qySsVazbc0jYjxm6HkVWqOd1cO5zO74
30
- AFvBtuFFTUDdrs3M/q6ktx295osXr2XpaygJmhkMLj81xoIX9G8eEjPc/XQWDlI1
31
- ma/kCj5vaQ3hma/0DsajCg==
32
- -----END CERTIFICATE-----
33
- date: 2015-08-25 00:00:00.000000000 Z
11
+ cert_chain: []
12
+ date: 2016-05-10 00:00:00.000000000 Z
34
13
  dependencies:
35
- - !ruby/object:Gem::Dependency
36
- name: network_interface
37
- requirement: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: '0.0'
42
- type: :runtime
43
- prerelease: false
44
- version_requirements: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - "~>"
47
- - !ruby/object:Gem::Version
48
- version: '0.0'
49
14
  - !ruby/object:Gem::Dependency
50
15
  name: pcaprub
51
16
  requirement: !ruby/object:Gem::Requirement
@@ -116,26 +81,55 @@ dependencies:
116
81
  - - "~>"
117
82
  - !ruby/object:Gem::Version
118
83
  version: 0.4.1
119
- description: PacketFu is a mid-level packet manipulation library for Ruby. With it,
120
- users can read, parse, and write network packets with the level of ease and fun
121
- they expect from Ruby. Note that this gem does not automatically require pcaprub,
122
- since users may install pcaprub through non-gem means.
123
- email: todb@packetfu.com
84
+ - !ruby/object:Gem::Dependency
85
+ name: pry
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: coveralls
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ description: "\n PacketFu is a mid-level packet manipulation library for Ruby.
113
+ With\n it, users can read, parse, and write network packets with the level of\n
114
+ \ ease and fun they expect from Ruby.\n "
115
+ email:
116
+ - todb@packetfu.com
117
+ - claudijd@yahoo.com
124
118
  executables: []
125
119
  extensions: []
126
120
  extra_rdoc_files:
127
121
  - ".document"
128
- - README.rdoc
122
+ - README.md
129
123
  files:
130
124
  - ".document"
131
125
  - ".gitignore"
132
126
  - ".mailmap"
127
+ - ".rspec"
133
128
  - ".travis.yml"
134
129
  - CONTRIBUTING.md
135
130
  - Gemfile
136
- - INSTALL.rdoc
137
131
  - LICENSE.txt
138
- - README.rdoc
132
+ - README.md
139
133
  - Rakefile
140
134
  - bench/after-2012-07-28.txt
141
135
  - bench/before-2012-07-28.txt
@@ -151,13 +145,13 @@ files:
151
145
  - examples/arphood.rb
152
146
  - examples/dissect_thinger.rb
153
147
  - examples/ethernet.rb
154
- - examples/examples.rb
155
148
  - examples/ids.rb
156
149
  - examples/idsv2.rb
157
150
  - examples/ifconfig.rb
158
151
  - examples/new-simple-stats.rb
159
152
  - examples/oui.txt
160
153
  - examples/packetfu-shell.rb
154
+ - examples/pcap2pcapng.rb
161
155
  - examples/simple-sniffer.rb
162
156
  - examples/simple-stats.rb
163
157
  - examples/slammer.rb
@@ -165,10 +159,20 @@ files:
165
159
  - gem-public_cert.pem
166
160
  - lib/packetfu.rb
167
161
  - lib/packetfu/capture.rb
162
+ - lib/packetfu/common.rb
168
163
  - lib/packetfu/config.rb
169
164
  - lib/packetfu/inject.rb
170
165
  - lib/packetfu/packet.rb
171
166
  - lib/packetfu/pcap.rb
167
+ - lib/packetfu/pcapng.rb
168
+ - lib/packetfu/pcapng/block.rb
169
+ - lib/packetfu/pcapng/epb.rb
170
+ - lib/packetfu/pcapng/file.rb
171
+ - lib/packetfu/pcapng/idb.rb
172
+ - lib/packetfu/pcapng/shb.rb
173
+ - lib/packetfu/pcapng/spb.rb
174
+ - lib/packetfu/pcapng/unknown_block.rb
175
+ - lib/packetfu/protos.rb
172
176
  - lib/packetfu/protos/arp.rb
173
177
  - lib/packetfu/protos/arp/header.rb
174
178
  - lib/packetfu/protos/arp/mixin.rb
@@ -181,6 +185,9 @@ files:
181
185
  - lib/packetfu/protos/icmp.rb
182
186
  - lib/packetfu/protos/icmp/header.rb
183
187
  - lib/packetfu/protos/icmp/mixin.rb
188
+ - lib/packetfu/protos/icmpv6.rb
189
+ - lib/packetfu/protos/icmpv6/header.rb
190
+ - lib/packetfu/protos/icmpv6/mixin.rb
184
191
  - lib/packetfu/protos/invalid.rb
185
192
  - lib/packetfu/protos/ip.rb
186
193
  - lib/packetfu/protos/ip/header.rb
@@ -207,15 +214,32 @@ files:
207
214
  - lib/packetfu/utils.rb
208
215
  - lib/packetfu/version.rb
209
216
  - packetfu.gemspec
210
- - setup.rb
211
217
  - spec/arp_spec.rb
212
218
  - spec/eth_spec.rb
219
+ - spec/fake_packets.rb
220
+ - spec/hsrp_spec.rb
213
221
  - spec/icmp_spec.rb
222
+ - spec/icmpv6_spec.rb
223
+ - spec/invalid_spec.rb
214
224
  - spec/ip_spec.rb
225
+ - spec/ipv4_icmp.pcap
226
+ - spec/ipv4_udp.pcap
227
+ - spec/ipv6_icmp.pcap
215
228
  - spec/ipv6_spec.rb
229
+ - spec/ipv6_udp.pcap
230
+ - spec/lldp_spec.rb
231
+ - spec/octets_spec.rb
216
232
  - spec/packet_spec.rb
217
233
  - spec/packet_subclasses_spec.rb
218
234
  - spec/packetfu_spec.rb
235
+ - spec/pcap_spec.rb
236
+ - spec/pcapng/epb_spec.rb
237
+ - spec/pcapng/file_spec.rb
238
+ - spec/pcapng/file_spec_helper.rb
239
+ - spec/pcapng/idb_spec.rb
240
+ - spec/pcapng/shb_spec.rb
241
+ - spec/pcapng/spb_spec.rb
242
+ - spec/pcapng/unknown_block_spec.rb
219
243
  - spec/sample.pcap
220
244
  - spec/sample2.pcap
221
245
  - spec/sample3.pcap
@@ -226,26 +250,118 @@ files:
226
250
  - spec/utils_spec.rb
227
251
  - spec/vlan-pcapr.cap
228
252
  - test/all_tests.rb
229
- - test/func_lldp.rb
230
- - test/ptest.rb
253
+ - test/pcapng-test/output_be/advanced/test100.pcapng
254
+ - test/pcapng-test/output_be/advanced/test100.txt
255
+ - test/pcapng-test/output_be/advanced/test101.pcapng
256
+ - test/pcapng-test/output_be/advanced/test101.txt
257
+ - test/pcapng-test/output_be/advanced/test102.pcapng
258
+ - test/pcapng-test/output_be/advanced/test102.txt
259
+ - test/pcapng-test/output_be/basic/test001.pcapng
260
+ - test/pcapng-test/output_be/basic/test001.txt
261
+ - test/pcapng-test/output_be/basic/test002.pcapng
262
+ - test/pcapng-test/output_be/basic/test002.txt
263
+ - test/pcapng-test/output_be/basic/test003.pcapng
264
+ - test/pcapng-test/output_be/basic/test003.txt
265
+ - test/pcapng-test/output_be/basic/test004.pcapng
266
+ - test/pcapng-test/output_be/basic/test004.txt
267
+ - test/pcapng-test/output_be/basic/test005.pcapng
268
+ - test/pcapng-test/output_be/basic/test005.txt
269
+ - test/pcapng-test/output_be/basic/test006.pcapng
270
+ - test/pcapng-test/output_be/basic/test006.txt
271
+ - test/pcapng-test/output_be/basic/test007.pcapng
272
+ - test/pcapng-test/output_be/basic/test007.txt
273
+ - test/pcapng-test/output_be/basic/test008.pcapng
274
+ - test/pcapng-test/output_be/basic/test008.txt
275
+ - test/pcapng-test/output_be/basic/test009.pcapng
276
+ - test/pcapng-test/output_be/basic/test009.txt
277
+ - test/pcapng-test/output_be/basic/test010.pcapng
278
+ - test/pcapng-test/output_be/basic/test010.txt
279
+ - test/pcapng-test/output_be/basic/test011.pcapng
280
+ - test/pcapng-test/output_be/basic/test011.txt
281
+ - test/pcapng-test/output_be/basic/test012.pcapng
282
+ - test/pcapng-test/output_be/basic/test012.txt
283
+ - test/pcapng-test/output_be/basic/test013.pcapng
284
+ - test/pcapng-test/output_be/basic/test013.txt
285
+ - test/pcapng-test/output_be/basic/test014.pcapng
286
+ - test/pcapng-test/output_be/basic/test014.txt
287
+ - test/pcapng-test/output_be/basic/test015.pcapng
288
+ - test/pcapng-test/output_be/basic/test015.txt
289
+ - test/pcapng-test/output_be/basic/test016.pcapng
290
+ - test/pcapng-test/output_be/basic/test016.txt
291
+ - test/pcapng-test/output_be/basic/test017.pcapng
292
+ - test/pcapng-test/output_be/basic/test017.txt
293
+ - test/pcapng-test/output_be/basic/test018.pcapng
294
+ - test/pcapng-test/output_be/basic/test018.txt
295
+ - test/pcapng-test/output_be/difficult/test200.pcapng
296
+ - test/pcapng-test/output_be/difficult/test200.txt
297
+ - test/pcapng-test/output_be/difficult/test201.pcapng
298
+ - test/pcapng-test/output_be/difficult/test201.txt
299
+ - test/pcapng-test/output_be/difficult/test202.pcapng
300
+ - test/pcapng-test/output_be/difficult/test202.txt
301
+ - test/pcapng-test/output_le/advanced/test100.pcapng
302
+ - test/pcapng-test/output_le/advanced/test100.txt
303
+ - test/pcapng-test/output_le/advanced/test101.pcapng
304
+ - test/pcapng-test/output_le/advanced/test101.txt
305
+ - test/pcapng-test/output_le/advanced/test102.pcapng
306
+ - test/pcapng-test/output_le/advanced/test102.txt
307
+ - test/pcapng-test/output_le/basic/test001.pcapng
308
+ - test/pcapng-test/output_le/basic/test001.txt
309
+ - test/pcapng-test/output_le/basic/test002.pcapng
310
+ - test/pcapng-test/output_le/basic/test002.txt
311
+ - test/pcapng-test/output_le/basic/test003.pcapng
312
+ - test/pcapng-test/output_le/basic/test003.txt
313
+ - test/pcapng-test/output_le/basic/test004.pcapng
314
+ - test/pcapng-test/output_le/basic/test004.txt
315
+ - test/pcapng-test/output_le/basic/test005.pcapng
316
+ - test/pcapng-test/output_le/basic/test005.txt
317
+ - test/pcapng-test/output_le/basic/test006.pcapng
318
+ - test/pcapng-test/output_le/basic/test006.txt
319
+ - test/pcapng-test/output_le/basic/test007.pcapng
320
+ - test/pcapng-test/output_le/basic/test007.txt
321
+ - test/pcapng-test/output_le/basic/test008.pcapng
322
+ - test/pcapng-test/output_le/basic/test008.txt
323
+ - test/pcapng-test/output_le/basic/test009.pcapng
324
+ - test/pcapng-test/output_le/basic/test009.txt
325
+ - test/pcapng-test/output_le/basic/test010.pcapng
326
+ - test/pcapng-test/output_le/basic/test010.txt
327
+ - test/pcapng-test/output_le/basic/test011.pcapng
328
+ - test/pcapng-test/output_le/basic/test011.txt
329
+ - test/pcapng-test/output_le/basic/test012.pcapng
330
+ - test/pcapng-test/output_le/basic/test012.txt
331
+ - test/pcapng-test/output_le/basic/test013.pcapng
332
+ - test/pcapng-test/output_le/basic/test013.txt
333
+ - test/pcapng-test/output_le/basic/test014.pcapng
334
+ - test/pcapng-test/output_le/basic/test014.txt
335
+ - test/pcapng-test/output_le/basic/test015.pcapng
336
+ - test/pcapng-test/output_le/basic/test015.txt
337
+ - test/pcapng-test/output_le/basic/test016.pcapng
338
+ - test/pcapng-test/output_le/basic/test016.txt
339
+ - test/pcapng-test/output_le/basic/test017.pcapng
340
+ - test/pcapng-test/output_le/basic/test017.txt
341
+ - test/pcapng-test/output_le/basic/test018.pcapng
342
+ - test/pcapng-test/output_le/basic/test018.txt
343
+ - test/pcapng-test/output_le/difficult/test200.pcapng
344
+ - test/pcapng-test/output_le/difficult/test200.txt
345
+ - test/pcapng-test/output_le/difficult/test201.pcapng
346
+ - test/pcapng-test/output_le/difficult/test201.txt
347
+ - test/pcapng-test/output_le/difficult/test202.pcapng
348
+ - test/pcapng-test/output_le/difficult/test202.txt
231
349
  - test/sample-ipv6.pcap
350
+ - test/sample-ipv6.pcapng
351
+ - test/sample-spb.pcapng
232
352
  - test/sample.pcap
353
+ - test/sample.pcapng
233
354
  - test/sample2.pcap
355
+ - test/sample2.pcapng
234
356
  - test/sample_hsrp_pcapr.cap
235
357
  - test/sample_lldp.pcap
236
358
  - test/test_capture.rb
237
- - test/test_eth.rb
238
- - test/test_hsrp.rb
239
359
  - test/test_inject.rb
240
- - test/test_invalid.rb
241
- - test/test_octets.rb
242
360
  - test/test_packet.rb
243
- - test/test_pcap.rb
244
361
  - test/test_structfu.rb
245
362
  - test/test_tcp.rb
246
- - test/test_udp.rb
247
363
  - test/vlan-pcapr.cap
248
- homepage: https://github.com/todb/packetfu
364
+ homepage: https://github.com/packetfu/packetfu
249
365
  licenses:
250
366
  - BSD
251
367
  metadata: {}
@@ -257,39 +373,45 @@ required_ruby_version: !ruby/object:Gem::Requirement
257
373
  requirements:
258
374
  - - ">="
259
375
  - !ruby/object:Gem::Version
260
- version: '0'
376
+ version: 2.1.0
261
377
  required_rubygems_version: !ruby/object:Gem::Requirement
262
378
  requirements:
263
- - - ">="
379
+ - - ">"
264
380
  - !ruby/object:Gem::Version
265
- version: '0'
381
+ version: 1.3.1
266
382
  requirements: []
267
383
  rubyforge_project: packetfu
268
- rubygems_version: 2.4.6
384
+ rubygems_version: 2.6.2
269
385
  signing_key:
270
386
  specification_version: 4
271
387
  summary: PacketFu is a mid-level packet manipulation library.
272
388
  test_files:
273
389
  - spec/arp_spec.rb
274
390
  - spec/eth_spec.rb
391
+ - spec/hsrp_spec.rb
275
392
  - spec/icmp_spec.rb
393
+ - spec/icmpv6_spec.rb
394
+ - spec/invalid_spec.rb
276
395
  - spec/ip_spec.rb
277
396
  - spec/ipv6_spec.rb
397
+ - spec/lldp_spec.rb
398
+ - spec/octets_spec.rb
278
399
  - spec/packet_spec.rb
279
400
  - spec/packet_subclasses_spec.rb
280
401
  - spec/packetfu_spec.rb
402
+ - spec/pcap_spec.rb
403
+ - spec/pcapng/epb_spec.rb
404
+ - spec/pcapng/file_spec.rb
405
+ - spec/pcapng/idb_spec.rb
406
+ - spec/pcapng/shb_spec.rb
407
+ - spec/pcapng/spb_spec.rb
408
+ - spec/pcapng/unknown_block_spec.rb
281
409
  - spec/structfu_spec.rb
282
410
  - spec/tcp_spec.rb
283
411
  - spec/udp_spec.rb
284
412
  - spec/utils_spec.rb
285
413
  - test/test_capture.rb
286
- - test/test_eth.rb
287
- - test/test_hsrp.rb
288
414
  - test/test_inject.rb
289
- - test/test_invalid.rb
290
- - test/test_octets.rb
291
415
  - test/test_packet.rb
292
- - test/test_pcap.rb
293
416
  - test/test_structfu.rb
294
417
  - test/test_tcp.rb
295
- - test/test_udp.rb