recog 0.01

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 (75) hide show
  1. data/.gitignore +3 -0
  2. data/.rspec +2 -0
  3. data/Gemfile +9 -0
  4. data/Gemfile.lock +42 -0
  5. data/LICENSE +23 -0
  6. data/README.md +63 -0
  7. data/bin/recog_export.rb +81 -0
  8. data/bin/recog_match.rb +51 -0
  9. data/bin/recog_verify.rb +45 -0
  10. data/features/match.feature +16 -0
  11. data/features/support/env.rb +5 -0
  12. data/features/verify.feature +31 -0
  13. data/features/xml/banners.xml +2 -0
  14. data/features/xml/failing_banners_fingerprints.xml +20 -0
  15. data/features/xml/matching_banners_fingerprints.xml +22 -0
  16. data/features/xml/no_tests.xml +53 -0
  17. data/features/xml/successful_tests.xml +33 -0
  18. data/features/xml/tests_with_failures.xml +10 -0
  19. data/features/xml/tests_with_warnings.xml +10 -0
  20. data/lib/recog.rb +3 -0
  21. data/lib/recog/db.rb +38 -0
  22. data/lib/recog/db_manager.rb +27 -0
  23. data/lib/recog/fingerprint.rb +60 -0
  24. data/lib/recog/formatter.rb +51 -0
  25. data/lib/recog/match_reporter.rb +77 -0
  26. data/lib/recog/matcher.rb +60 -0
  27. data/lib/recog/matcher_factory.rb +14 -0
  28. data/lib/recog/nizer.rb +263 -0
  29. data/lib/recog/verifier.rb +46 -0
  30. data/lib/recog/verifier_factory.rb +13 -0
  31. data/lib/recog/verify_reporter.rb +85 -0
  32. data/lib/recog/version.rb +3 -0
  33. data/recog.gemspec +34 -0
  34. data/spec/data/best_os_match_1.yml +17 -0
  35. data/spec/data/best_os_match_2.yml +17 -0
  36. data/spec/data/best_service_match_1.yml +17 -0
  37. data/spec/data/smb_native_os.txt +31 -0
  38. data/spec/data/test_fingerprints.xml +24 -0
  39. data/spec/lib/db_spec.rb +89 -0
  40. data/spec/lib/formatter_spec.rb +69 -0
  41. data/spec/lib/match_reporter_spec.rb +90 -0
  42. data/spec/lib/nizer_spec.rb +124 -0
  43. data/spec/lib/verify_reporter_spec.rb +112 -0
  44. data/xml/apache_os.xml +295 -0
  45. data/xml/architecture.xml +45 -0
  46. data/xml/ftp_banners.xml +808 -0
  47. data/xml/h323_callresp.xml +701 -0
  48. data/xml/hp_pjl_id.xml +435 -0
  49. data/xml/http_cookies.xml +379 -0
  50. data/xml/http_servers.xml +3326 -0
  51. data/xml/http_wwwauth.xml +412 -0
  52. data/xml/imap_banners.xml +267 -0
  53. data/xml/nntp_banners.xml +51 -0
  54. data/xml/ntp_banners.xml +538 -0
  55. data/xml/pop_banners.xml +452 -0
  56. data/xml/rsh_resp.xml +90 -0
  57. data/xml/sip_banners.xml +14 -0
  58. data/xml/smb_native_os.xml +385 -0
  59. data/xml/smtp_banners.xml +1738 -0
  60. data/xml/smtp_debug.xml +45 -0
  61. data/xml/smtp_ehlo.xml +53 -0
  62. data/xml/smtp_expn.xml +95 -0
  63. data/xml/smtp_help.xml +212 -0
  64. data/xml/smtp_mailfrom.xml +24 -0
  65. data/xml/smtp_noop.xml +45 -0
  66. data/xml/smtp_quit.xml +31 -0
  67. data/xml/smtp_rcptto.xml +33 -0
  68. data/xml/smtp_rset.xml +23 -0
  69. data/xml/smtp_turn.xml +23 -0
  70. data/xml/smtp_vrfy.xml +109 -0
  71. data/xml/snmp_sysdescr.xml +8008 -0
  72. data/xml/snmp_sysobjid.xml +284 -0
  73. data/xml/ssh_banners.xml +790 -0
  74. data/xml/upnp_banners.xml +590 -0
  75. metadata +190 -0
metadata ADDED
@@ -0,0 +1,190 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: recog
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.01'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Rapid7 Research
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-05-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: cucumber
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: aruba
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: nokogiri
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ description: Recog is a framework for identifying products, services, operating systems,
79
+ and hardware by matching fingerprints against data returned from various network
80
+ probes. Recog makes it simply to extract useful information from web server banners,
81
+ snmp system description fields, and a whole lot more.
82
+ email:
83
+ - research@rapid7.com
84
+ executables:
85
+ - recog_export.rb
86
+ - recog_match.rb
87
+ - recog_verify.rb
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - .gitignore
92
+ - .rspec
93
+ - Gemfile
94
+ - Gemfile.lock
95
+ - LICENSE
96
+ - README.md
97
+ - bin/recog_export.rb
98
+ - bin/recog_match.rb
99
+ - bin/recog_verify.rb
100
+ - features/match.feature
101
+ - features/support/env.rb
102
+ - features/verify.feature
103
+ - features/xml/banners.xml
104
+ - features/xml/failing_banners_fingerprints.xml
105
+ - features/xml/matching_banners_fingerprints.xml
106
+ - features/xml/no_tests.xml
107
+ - features/xml/successful_tests.xml
108
+ - features/xml/tests_with_failures.xml
109
+ - features/xml/tests_with_warnings.xml
110
+ - lib/recog.rb
111
+ - lib/recog/db.rb
112
+ - lib/recog/db_manager.rb
113
+ - lib/recog/fingerprint.rb
114
+ - lib/recog/formatter.rb
115
+ - lib/recog/match_reporter.rb
116
+ - lib/recog/matcher.rb
117
+ - lib/recog/matcher_factory.rb
118
+ - lib/recog/nizer.rb
119
+ - lib/recog/verifier.rb
120
+ - lib/recog/verifier_factory.rb
121
+ - lib/recog/verify_reporter.rb
122
+ - lib/recog/version.rb
123
+ - recog.gemspec
124
+ - spec/data/best_os_match_1.yml
125
+ - spec/data/best_os_match_2.yml
126
+ - spec/data/best_service_match_1.yml
127
+ - spec/data/smb_native_os.txt
128
+ - spec/data/test_fingerprints.xml
129
+ - spec/lib/db_spec.rb
130
+ - spec/lib/formatter_spec.rb
131
+ - spec/lib/match_reporter_spec.rb
132
+ - spec/lib/nizer_spec.rb
133
+ - spec/lib/verify_reporter_spec.rb
134
+ - xml/apache_os.xml
135
+ - xml/architecture.xml
136
+ - xml/ftp_banners.xml
137
+ - xml/h323_callresp.xml
138
+ - xml/hp_pjl_id.xml
139
+ - xml/http_cookies.xml
140
+ - xml/http_servers.xml
141
+ - xml/http_wwwauth.xml
142
+ - xml/imap_banners.xml
143
+ - xml/nntp_banners.xml
144
+ - xml/ntp_banners.xml
145
+ - xml/pop_banners.xml
146
+ - xml/rsh_resp.xml
147
+ - xml/sip_banners.xml
148
+ - xml/smb_native_os.xml
149
+ - xml/smtp_banners.xml
150
+ - xml/smtp_debug.xml
151
+ - xml/smtp_ehlo.xml
152
+ - xml/smtp_expn.xml
153
+ - xml/smtp_help.xml
154
+ - xml/smtp_mailfrom.xml
155
+ - xml/smtp_noop.xml
156
+ - xml/smtp_quit.xml
157
+ - xml/smtp_rcptto.xml
158
+ - xml/smtp_rset.xml
159
+ - xml/smtp_turn.xml
160
+ - xml/smtp_vrfy.xml
161
+ - xml/snmp_sysdescr.xml
162
+ - xml/snmp_sysobjid.xml
163
+ - xml/ssh_banners.xml
164
+ - xml/upnp_banners.xml
165
+ homepage: https://www.github.com/rapid7/recog
166
+ licenses: []
167
+ post_install_message:
168
+ rdoc_options: []
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ! '>='
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ required_rubygems_version: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ! '>='
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ requirements: []
184
+ rubyforge_project:
185
+ rubygems_version: 1.8.23
186
+ signing_key:
187
+ specification_version: 3
188
+ summary: Network service fingerprint database, classes, and utilities
189
+ test_files: []
190
+ has_rdoc: