File tree Expand file tree Collapse file tree 1 file changed +19
-4
lines changed Expand file tree Collapse file tree 1 file changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -82,18 +82,33 @@ def data_for_keys(keys = [])
82
82
def determine_version
83
83
sock . send ( "stats\r \n " , 0 )
84
84
stats = sock . recv ( 4096 )
85
- matches = /^STAT (?<version>version (\. |\d )*)/ . match ( stats )
86
- matches [ :version ] || 'unkown version'
85
+ if /^STAT version (?<version>[\d \. ]+)/ =~ stats
86
+ version
87
+ else
88
+ nil
89
+ end
87
90
end
88
91
89
92
def run_host ( ip )
90
93
peer = "#{ ip } :#{ rport } "
91
94
vprint_status ( "#{ peer } - Connecting to memcached server..." )
92
95
begin
93
96
connect
94
- vprint_good ( "#{ peer } Connected to memcached #{ determine_version } " )
97
+ if version = determine_version
98
+ vprint_good ( "#{ peer } - Connected to memcached version #{ version } " )
99
+ report_service (
100
+ host : ip ,
101
+ name : 'memcached' ,
102
+ port : rport ,
103
+ proto : 'tcp' ,
104
+ info : version
105
+ )
106
+ else
107
+ print_error ( "#{ peer } - unable to determine memcached protocol version" )
108
+ return
109
+ end
95
110
keys = enumerate_keys
96
- print_good ( "#{ peer } Found #{ keys . size } keys" )
111
+ print_good ( "#{ peer } - Found #{ keys . size } keys" )
97
112
return if keys . size == 0
98
113
99
114
data = data_for_keys ( keys )
You can’t perform that action at this time.
0 commit comments