recog 0.01

Sign up to get free protection for your applications and to get access to all the features.
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: