trisulrp 1.2.5 → 1.2.6
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/trisulrp/keys.rb +68 -0
- data/lib/trisulrp/protocol.rb +4 -4
- data/lib/trisulrp/trp.pb.rb +6 -5
- data/lib/trisulrp/trp.proto +352 -353
- data/test/test_key.rb +27 -0
- data/trisulrp.gemspec +2 -1
- metadata +5 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.6
|
data/lib/trisulrp/keys.rb
CHANGED
@@ -197,4 +197,72 @@ class ASNumber
|
|
197
197
|
end
|
198
198
|
end
|
199
199
|
|
200
|
+
# convert a trisul key format into a human readable key
|
201
|
+
# [keyform] the key form
|
202
|
+
#
|
203
|
+
# ==== Typical use
|
204
|
+
#
|
205
|
+
# Used to convert an IP / Port or any other trisul key into a readable form
|
206
|
+
#
|
207
|
+
# <code>
|
208
|
+
#
|
209
|
+
# make_readable("C0.A8.0C.A0") => "192.168.12.160"
|
210
|
+
#
|
211
|
+
# make_readable("p-0016") => "Port-22"
|
212
|
+
#
|
213
|
+
# </code>
|
214
|
+
#
|
215
|
+
#
|
216
|
+
#
|
217
|
+
# Also see TrisulRP::Protocol::get_labels_for_keys to obtain a text name for the key
|
218
|
+
#
|
219
|
+
# Also see the inverse of this method make_key which convert a readable string into a key
|
220
|
+
# suitable for use in TRP request messages.
|
221
|
+
#
|
222
|
+
# If key type cannot be accurately guessed it returns the input
|
223
|
+
#
|
224
|
+
def make_readable(keyform)
|
225
|
+
[ TrisulRP::Keys::Port,
|
226
|
+
TrisulRP::Keys::Host,
|
227
|
+
TrisulRP::Keys::HostInterface,
|
228
|
+
TrisulRP::Keys::Subnet,
|
229
|
+
TrisulRP::Keys::ASNumber
|
230
|
+
].each do |kls|
|
231
|
+
return kls.xform(keyform) if kls.is_key_form?(keyform)
|
232
|
+
end
|
233
|
+
return keyform
|
234
|
+
end
|
235
|
+
|
236
|
+
|
237
|
+
# convert a key in human form into trisul key format
|
238
|
+
#
|
239
|
+
# [humanform] the human form of the key
|
240
|
+
#
|
241
|
+
# ==== Typical use
|
242
|
+
#
|
243
|
+
# Used to convert a human form key into a Trisul Key format suitable for use with TRP requests
|
244
|
+
#
|
245
|
+
#
|
246
|
+
# <code>
|
247
|
+
#
|
248
|
+
# make_key("192.168.1.1") => "C0.A8.01.01"
|
249
|
+
#
|
250
|
+
# </code>
|
251
|
+
#
|
252
|
+
#
|
253
|
+
# Also see the inverse of this method make_readable
|
254
|
+
#
|
255
|
+
#
|
256
|
+
def make_key(readable)
|
257
|
+
[ TrisulRP::Keys::Port,
|
258
|
+
TrisulRP::Keys::Host,
|
259
|
+
TrisulRP::Keys::HostInterface,
|
260
|
+
TrisulRP::Keys::Subnet,
|
261
|
+
TrisulRP::Keys::ASNumber
|
262
|
+
].each do |kls|
|
263
|
+
return kls.invert_xform(readable) if kls.is_human_form?(readable)
|
264
|
+
end
|
265
|
+
return readable
|
266
|
+
end
|
267
|
+
|
200
268
|
end
|
data/lib/trisulrp/protocol.rb
CHANGED
@@ -66,12 +66,12 @@ module TrisulRP::Protocol
|
|
66
66
|
def get_response(conn,trp_request)
|
67
67
|
outbuf=""
|
68
68
|
outbuf=trp_request.serialize_to_string
|
69
|
-
|
70
|
-
|
71
|
-
inbuf =
|
69
|
+
conn.write([outbuf.length].pack("N*"))
|
70
|
+
conn.write(outbuf)
|
71
|
+
inbuf = conn.read(4)
|
72
72
|
buflenarr=inbuf.unpack("N*")
|
73
73
|
datalen=buflenarr[0]
|
74
|
-
dataarray=
|
74
|
+
dataarray=conn.read(datalen)
|
75
75
|
resp =TRP::Message.new
|
76
76
|
resp.parse dataarray
|
77
77
|
raise resp.error_response if resp.trp_command == TRP::Message::Command::ERROR_RESPONSE
|
data/lib/trisulrp/trp.pb.rb
CHANGED
@@ -275,11 +275,12 @@ module TRP
|
|
275
275
|
|
276
276
|
class HelloResponse < ::ProtocolBuffers::Message
|
277
277
|
required :string, :trisul_id, 1
|
278
|
-
required :string, :
|
279
|
-
required :string, :
|
280
|
-
required
|
281
|
-
required ::TRP::Timestamp, :
|
282
|
-
required ::TRP::
|
278
|
+
required :string, :trisul_description, 2
|
279
|
+
required :string, :connection_id, 3
|
280
|
+
required :string, :version_string, 4
|
281
|
+
required ::TRP::Timestamp, :connection_start_time, 5
|
282
|
+
required ::TRP::Timestamp, :connection_up_time, 6
|
283
|
+
required ::TRP::AuthLevel, :current_auth_level, 7
|
283
284
|
|
284
285
|
gen_methods! # new fields ignored after this point
|
285
286
|
end
|
data/lib/trisulrp/trp.proto
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
// Trisul Remote Protocol (TRP) definition
|
2
2
|
// Based on Google Protocol Buffers
|
3
3
|
// (c) 2010-11, Unleash Networks
|
4
|
-
//
|
4
|
+
// $Rev: 3442 $
|
5
5
|
package TRP;
|
6
6
|
|
7
7
|
message Timestamp {
|
@@ -10,184 +10,185 @@ message Timestamp {
|
|
10
10
|
}
|
11
11
|
|
12
12
|
message TimeInterval {
|
13
|
-
|
14
|
-
|
13
|
+
required Timestamp from=1;
|
14
|
+
required Timestamp to=2;
|
15
15
|
}
|
16
16
|
|
17
17
|
message StatsTuple {
|
18
|
-
|
19
|
-
|
18
|
+
required Timestamp ts=1;
|
19
|
+
required double val=2;
|
20
20
|
}
|
21
21
|
|
22
22
|
message MeterValues {
|
23
|
-
|
24
|
-
|
23
|
+
required int32 meter=1;
|
24
|
+
repeated StatsTuple values=2;
|
25
25
|
}
|
26
26
|
|
27
27
|
message KeyStats {
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
optional int64 context=1[default=0];
|
29
|
+
required string counter_group=2;
|
30
|
+
required string key=3;
|
31
|
+
repeated MeterValues meters=4;
|
32
32
|
}
|
33
33
|
|
34
34
|
message KeyDetails {
|
35
|
-
|
36
|
-
|
37
|
-
|
35
|
+
required string key=1;
|
36
|
+
optional string label=2;
|
37
|
+
optional string description=3;
|
38
38
|
}
|
39
39
|
|
40
40
|
message SessionID {
|
41
|
-
|
42
|
-
|
41
|
+
required int64 slice_id=1;
|
42
|
+
required int64 session_id=2;
|
43
43
|
}
|
44
44
|
|
45
45
|
message AlertID {
|
46
|
-
|
47
|
-
|
46
|
+
required int64 slice_id=1;
|
47
|
+
required int64 alert_id=2;
|
48
48
|
}
|
49
49
|
|
50
50
|
message ResourceID {
|
51
|
-
|
52
|
-
|
51
|
+
required int64 slice_id=1;
|
52
|
+
required int64 resource_id=2;
|
53
53
|
}
|
54
54
|
message CounterGroupDetails {
|
55
|
-
required string
|
56
|
-
required string
|
57
|
-
optional int64
|
58
|
-
optional TimeInterval
|
55
|
+
required string guid=1;
|
56
|
+
required string name=2;
|
57
|
+
optional int64 bucket_size=3;
|
58
|
+
optional TimeInterval time_interval=4;
|
59
59
|
}
|
60
60
|
|
61
61
|
enum AuthLevel {
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
62
|
+
ADMIN=1;
|
63
|
+
BASIC_USER=2;
|
64
|
+
FORENSIC_USER=3;
|
65
|
+
BLOCKED_USER=4;
|
66
66
|
}
|
67
67
|
|
68
68
|
enum CompressionType {
|
69
|
-
|
70
|
-
|
69
|
+
UNCOMPRESSED=1;
|
70
|
+
GZIP=2;
|
71
71
|
}
|
72
72
|
|
73
73
|
enum PcapFormat {
|
74
|
-
|
75
|
-
|
74
|
+
LIBPCAP=1;
|
75
|
+
UNSNIFF=2;
|
76
76
|
}
|
77
77
|
|
78
78
|
message Message {
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
79
|
+
enum Command { HELLO_REQUEST=1;
|
80
|
+
HELLO_RESPONSE=2;
|
81
|
+
OK_RESPONSE=3;
|
82
|
+
ERROR_RESPONSE=5;
|
83
|
+
COUNTER_GROUP_REQUEST=6;
|
84
|
+
COUNTER_GROUP_RESPONSE=7;
|
85
|
+
COUNTER_ITEM_REQUEST=8;
|
86
|
+
COUNTER_ITEM_RESPONSE=9;
|
87
|
+
RELEASE_RESOURCE_REQUEST=10;
|
88
|
+
RELEASE_CONTEXT_REQUEST=11;
|
89
|
+
CONTROLLED_COUNTER_GROUP_REQUEST=12;
|
90
|
+
CONTROLLED_COUNTER_GROUP_RESPONSE=13;
|
91
|
+
FILTERED_DATAGRAMS_REQUEST=14;
|
92
|
+
FILTERED_DATAGRAMS_RESPONSE=15;
|
93
|
+
CONTROLLED_CONTEXT_REQUEST=16;
|
94
|
+
CONTROLLED_CONTEXT_RESPONSE=17;
|
95
|
+
SEARCH_KEYS_REQUEST=18;
|
96
|
+
SEARCH_KEYS_RESPONSE=19;
|
97
|
+
COUNTER_GROUP_INFO_REQUEST=20;
|
98
|
+
COUNTER_GROUP_INFO_RESPONSE=21;
|
99
|
+
SESSION_TRACKER_REQUEST=22;
|
100
|
+
SESSION_TRACKER_RESPONSE=23;
|
101
|
+
SESSION_ITEM_REQUEST=24;
|
102
|
+
SESSION_ITEM_RESPONSE=25;
|
103
|
+
BULK_COUNTER_ITEM_REQUEST=26;
|
104
|
+
BULK_COUNTER_ITEM_RESPONSE=27;
|
105
|
+
CGMONITOR_REQUEST=28;
|
106
|
+
CGMONITOR_RESPONSE=29;
|
107
|
+
TOPPER_SNAPSHOT_REQUEST=30;
|
108
|
+
TOPPER_SNAPSHOT_RESPONSE=31;
|
109
|
+
UPDATE_KEY_REQUEST=32;
|
110
|
+
UPDATE_KEY_RESPONSE=33;
|
111
|
+
KEY_SESS_ACTIVITY_REQUEST=34;
|
112
|
+
KEY_SESS_ACTIVITY_RESPONSE=35;
|
113
|
+
RING_STATS_REQUEST=36;
|
114
|
+
RING_STATS_RESPONSE=37;
|
115
|
+
SERVER_STATS_REQUEST=38;
|
116
|
+
SERVER_STATS_RESPONSE=39;
|
117
|
+
SESSION_GROUP_REQUEST=40;
|
118
|
+
SESSION_GROUP_RESPONSE=41;
|
119
|
+
ALERT_ITEM_REQUEST=42;
|
120
|
+
ALERT_ITEM_RESPONSE=43;
|
121
|
+
ALERT_GROUP_REQUEST=44;
|
122
|
+
ALERT_GROUP_RESPONSE=45;
|
123
|
+
RESOURCE_ITEM_REQUEST=46;
|
124
|
+
RESOURCE_ITEM_RESPONSE=47;
|
125
|
+
RESOURCE_GROUP_REQUEST=48;
|
126
|
+
RESOURCE_GROUP_RESPONSE=49;
|
127
|
+
KEY_LOOKUP_REQUEST=50;
|
128
|
+
KEY_LOOKUP_RESPONSE=51;
|
129
|
+
}
|
130
|
+
|
131
|
+
required Command trp_command=1;
|
132
|
+
optional HelloRequest hello_request=2;
|
133
|
+
optional HelloResponse hello_response=3;
|
134
|
+
optional OKResponse ok_response=4;
|
135
|
+
optional ErrorResponse error_response=5;
|
136
|
+
optional CounterGroupRequest counter_group_request=6;
|
137
|
+
optional CounterGroupResponse counter_group_response=7;
|
138
|
+
optional CounterItemRequest counter_item_request=8;
|
139
|
+
optional CounterItemResponse counter_item_response=9;
|
140
|
+
optional ReleaseContextRequest release_context_request=11;
|
141
|
+
optional ControlledCounterGroupRequest controlled_counter_group_request=12;
|
142
|
+
optional ControlledCounterGroupResponse controlled_counter_group_response=13;
|
143
|
+
optional FilteredDatagramRequest filtered_datagram_request=14;
|
144
|
+
optional FilteredDatagramResponse filtered_datagram_response=15;
|
145
|
+
optional ControlledContextRequest controlled_context_request=16;
|
146
|
+
optional ControlledContextResponse controlled_context_response=17;
|
147
|
+
optional SearchKeysRequest search_keys_request=18;
|
148
|
+
optional SearchKeysResponse search_keys_response=19;
|
149
|
+
optional CounterGroupInfoRequest counter_group_info_request=20;
|
150
|
+
optional CounterGroupInfoResponse counter_group_info_response=21;
|
151
|
+
optional SessionItemRequest session_item_request=22;
|
152
|
+
optional SessionItemResponse session_item_response=23;
|
153
|
+
optional BulkCounterItemRequest bulk_counter_item_request=24;
|
154
|
+
optional BulkCounterItemResponse bulk_counter_item_response=25;
|
155
|
+
optional TopperSnapshotRequest topper_snapshot_request=28;
|
156
|
+
optional TopperSnapshotResponse topper_snapshot_response=29;
|
157
|
+
optional UpdateKeyRequest update_key_request=30;
|
158
|
+
optional KeySessionActivityRequest key_session_activity_request=31;
|
159
|
+
optional KeySessionActivityResponse key_session_activity_response=32;
|
160
|
+
optional SessionTrackerRequest session_tracker_request=33;
|
161
|
+
optional SessionTrackerResponse session_tracker_response=34;
|
162
|
+
optional ServerStatsRequest server_stats_request=37;
|
163
|
+
optional ServerStatsResponse server_stats_response=38;
|
164
|
+
optional SessionGroupRequest session_group_request=39;
|
165
|
+
optional SessionGroupResponse session_group_response=40;
|
166
|
+
optional AlertItemRequest alert_item_request=41;
|
167
|
+
optional AlertItemResponse alert_item_response=42;
|
168
|
+
optional AlertGroupRequest alert_group_request=43;
|
169
|
+
optional AlertGroupResponse alert_group_response=44;
|
170
|
+
optional ResourceItemRequest resource_item_request=45;
|
171
|
+
optional ResourceItemResponse resource_item_response=46;
|
172
|
+
optional ResourceGroupRequest resource_group_request=47;
|
173
|
+
optional ResourceGroupResponse resource_group_response=48;
|
174
|
+
optional KeyLookupRequest key_lookup_request=49;
|
175
|
+
optional KeyLookupResponse key_lookup_response=50;
|
176
176
|
}
|
177
177
|
|
178
178
|
///////////////////////////////
|
179
179
|
// Hello
|
180
180
|
message HelloRequest{
|
181
|
-
required string
|
182
|
-
}
|
181
|
+
required string station_id=1;
|
182
|
+
}
|
183
183
|
|
184
184
|
message HelloResponse{
|
185
|
-
required string
|
186
|
-
required string
|
187
|
-
required string
|
188
|
-
required
|
189
|
-
required Timestamp
|
190
|
-
required
|
185
|
+
required string trisul_id=1;
|
186
|
+
required string trisul_description=2;
|
187
|
+
required string connection_id=3;
|
188
|
+
required string version_string=4;
|
189
|
+
required Timestamp connection_start_time=5;
|
190
|
+
required Timestamp connection_up_time=6;
|
191
|
+
required AuthLevel current_auth_level=7;
|
191
192
|
}
|
192
193
|
|
193
194
|
///////////////////////////////
|
@@ -201,400 +202,400 @@ message ErrorResponse{
|
|
201
202
|
///////////////////////////////
|
202
203
|
// OK
|
203
204
|
message OKResponse{
|
204
|
-
required int64
|
205
|
-
optional string
|
205
|
+
required int64 original_command=1;
|
206
|
+
optional string message=2;
|
206
207
|
}
|
207
208
|
|
208
209
|
message ReleaseContextRequest{
|
209
|
-
optional int64
|
210
|
+
optional int64 context=1;
|
210
211
|
}
|
211
212
|
|
212
213
|
///////////////////////////////
|
213
214
|
// CounterItemRequest
|
214
215
|
message CounterItemRequest{
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
216
|
+
optional int64 context=1 [default=0];
|
217
|
+
required string counter_group=2;
|
218
|
+
required int64 meter=3 [default=0];
|
219
|
+
required string key=4;
|
220
|
+
required TimeInterval time_interval=5;
|
220
221
|
}
|
221
222
|
|
222
223
|
///////////////////////////////
|
223
224
|
// CounterItemResponse
|
224
225
|
message CounterItemResponse{
|
225
|
-
|
226
|
+
required KeyStats stats=1;
|
226
227
|
}
|
227
228
|
|
228
229
|
///////////////////////////////
|
229
230
|
// CounterGroupRequest
|
230
231
|
message CounterGroupRequest{
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
232
|
+
optional int64 context=1 [default=0];
|
233
|
+
required string counter_group=2;
|
234
|
+
optional int64 meter=3 [default=0];
|
235
|
+
optional int64 maxitems=4 [default=10];
|
236
|
+
optional TimeInterval time_interval=5;
|
237
|
+
optional Timestamp time_instant=6;
|
238
|
+
optional int64 flags=7;
|
238
239
|
}
|
239
240
|
|
240
241
|
///////////////////////////////
|
241
242
|
// CounterItemRequest
|
242
243
|
message CounterGroupResponse{
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
244
|
+
required int64 context=1;
|
245
|
+
required string counter_group=2;
|
246
|
+
required int64 meter=3;
|
247
|
+
repeated KeyDetails keys=6;
|
247
248
|
}
|
248
249
|
|
249
250
|
message ControlledCounterGroupRequest{
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
251
|
+
required string dynamic_group_id=1;
|
252
|
+
required string counter_group=2;
|
253
|
+
required int64 meter=3;
|
254
|
+
required int64 maxitems=4;
|
255
|
+
required int64 bucket_ms=5;
|
256
|
+
required int64 top_nsize=6;
|
257
|
+
required TimeInterval time_interval=7;
|
258
|
+
required string control_counter_id=9;
|
259
|
+
required string control_key=10;
|
259
260
|
}
|
260
261
|
|
261
262
|
message ControlledCounterGroupResponse{
|
262
|
-
|
263
|
+
required string dynamic_group_id=1;
|
263
264
|
}
|
264
265
|
|
265
266
|
|
266
267
|
///////////////////////////////
|
267
268
|
// FilteredDatagramRequest
|
268
269
|
message FilteredDatagramRequest{
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
270
|
+
optional int64 max_packets=1[default=0];
|
271
|
+
optional int64 max_bytes=2[default=0];
|
272
|
+
optional CompressionType compress_type=3[default=UNCOMPRESSED];
|
273
|
+
required TimeInterval time_interval=4;
|
274
|
+
required string filter_expression=5;
|
274
275
|
}
|
275
276
|
|
276
277
|
/////////////////////////////////////
|
277
278
|
// FileredDatagaramResponse
|
278
279
|
message FilteredDatagramResponse{
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
280
|
+
required PcapFormat format=1;
|
281
|
+
required CompressionType compress_type=2;
|
282
|
+
required TimeInterval time_interval=3;
|
283
|
+
required int64 num_datagrams=4;
|
284
|
+
required int64 num_bytes=5;
|
285
|
+
required string sha1=6;
|
286
|
+
required bytes contents=7;
|
286
287
|
}
|
287
288
|
|
288
289
|
//////////////////////////////////////////
|
289
290
|
// ControlledContextRequest
|
290
291
|
message ControlledContextRequest{
|
291
|
-
|
292
|
-
|
292
|
+
required TimeInterval time_interval=1;
|
293
|
+
required string filter_expression=2;
|
293
294
|
}
|
294
295
|
|
295
296
|
//////////////////////////////////////////
|
296
297
|
//// ControlledContextResponse
|
297
298
|
message ControlledContextResponse{
|
298
|
-
required int64
|
299
|
-
optional string
|
300
|
-
required TimeInterval
|
299
|
+
required int64 context=1;
|
300
|
+
optional string context_db=2;
|
301
|
+
required TimeInterval time_interval =3;
|
301
302
|
}
|
302
303
|
|
303
304
|
///////////////////////////////////////
|
304
305
|
// SearchkeysRequest
|
305
306
|
message SearchKeysRequest{
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
307
|
+
optional int64 context=1[default=0];
|
308
|
+
required string counter_group=2;
|
309
|
+
required string pattern=3;
|
310
|
+
required int64 maxitems=4;
|
310
311
|
}
|
311
312
|
|
312
313
|
//////////////////////////////////////
|
313
314
|
// SearchKeysResponse
|
314
315
|
message SearchKeysResponse{
|
315
|
-
optional int64
|
316
|
-
required string
|
317
|
-
repeated KeyDetails
|
316
|
+
optional int64 context=1;
|
317
|
+
required string counter_group=2;
|
318
|
+
repeated KeyDetails found_keys=3;
|
318
319
|
}
|
319
320
|
|
320
321
|
/////////////////////////////////////
|
321
322
|
/// CounterGroupInfoRequest
|
322
323
|
message CounterGroupInfoRequest{
|
323
|
-
|
324
|
-
optional string
|
324
|
+
optional int64 context=1[default=0];
|
325
|
+
optional string counter_group=2;
|
325
326
|
}
|
326
327
|
|
327
328
|
///////////////////////////////////
|
328
329
|
/// CounterGroupInfoResponse
|
329
330
|
message CounterGroupInfoResponse{
|
330
|
-
optional int64
|
331
|
-
|
331
|
+
optional int64 context=1;
|
332
|
+
repeated CounterGroupDetails group_details=2;
|
332
333
|
}
|
333
334
|
|
334
335
|
/////////////////////////////////////
|
335
336
|
// SessionItemRequest
|
336
337
|
message SessionItemRequest{
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
338
|
+
optional int64 context=1[default=0];
|
339
|
+
optional string session_group=2[default="{99A78737-4B41-4387-8F31-8077DB917336}"];
|
340
|
+
repeated string session_keys=3;
|
341
|
+
repeated SessionID session_ids=4;
|
341
342
|
}
|
342
343
|
|
343
344
|
////////////////////////////////////
|
344
345
|
// SessionItemResponse
|
345
346
|
message SessionItemResponse{
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
347
|
+
optional int64 context=1[default=0];
|
348
|
+
required string session_group=2;
|
349
|
+
|
350
|
+
message Item {
|
351
|
+
optional string session_key=1;
|
352
|
+
optional SessionID session_id=2;
|
353
|
+
optional string user_label=3;
|
354
|
+
required TimeInterval time_interval=4;
|
355
|
+
required int64 state=5;
|
356
|
+
required int64 az_bytes=6;
|
357
|
+
required int64 za_bytes=7;
|
358
|
+
required KeyDetails key1A=8;
|
359
|
+
required KeyDetails key2A=9;
|
360
|
+
required KeyDetails key1Z=10;
|
361
|
+
required KeyDetails key2Z=11;
|
362
|
+
}
|
363
|
+
|
364
|
+
repeated Item items=3;
|
364
365
|
}
|
365
366
|
|
366
367
|
//////////////////////////////////////////
|
367
368
|
// BulkCounterItemRequest
|
368
369
|
message BulkCounterItemRequest{
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
370
|
+
optional int64 context=1[default=0];
|
371
|
+
required string counter_group=2;
|
372
|
+
required int64 meter=3;
|
373
|
+
required TimeInterval time_interval=4;
|
374
|
+
repeated string keys=5;
|
374
375
|
}
|
375
376
|
|
376
377
|
//////////////////////////////////////////
|
377
378
|
// BulkCounterItemResponse
|
378
379
|
message BulkCounterItemResponse{
|
379
|
-
|
380
|
-
|
380
|
+
repeated KeyStats stats=1;
|
381
|
+
repeated KeyDetails details=2;
|
381
382
|
}
|
382
383
|
|
383
384
|
///////////////////////////////////////////
|
384
385
|
/// TopperSnapshotRequest
|
385
386
|
message TopperSnapshotRequest{
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
387
|
+
optional int64 context=1[default=0];
|
388
|
+
required string counter_group=2;
|
389
|
+
required int64 meter=3;
|
390
|
+
required TimeInterval Time=4;
|
391
|
+
required int64 maxitems=5;
|
391
392
|
}
|
392
393
|
|
393
394
|
|
394
395
|
///////////////////////////////////////////
|
395
396
|
// TopperSnapshotResponse
|
396
397
|
message TopperSnapshotResponse{
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
398
|
+
optional int64 context=1;
|
399
|
+
required string counter_group=2;
|
400
|
+
required int64 meter=3;
|
401
|
+
required Timestamp time=4;
|
402
|
+
required int64 window_secs=5;
|
403
|
+
required string keys=6;
|
404
|
+
required string labels=7;
|
404
405
|
}
|
405
406
|
|
406
407
|
//////////////////////////////////////////////
|
407
408
|
/// UpdatekeysRequest
|
408
409
|
/// Response = OKResponse or ErrorResponse
|
409
410
|
message UpdateKeyRequest{
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
411
|
+
optional int64 context=1[default=0];
|
412
|
+
required string counter_group=2;
|
413
|
+
required string key=4;
|
414
|
+
required string label=5;
|
415
|
+
optional string description=6;
|
415
416
|
}
|
416
417
|
|
417
418
|
///////////////////////////////////
|
418
419
|
// KeySessionActivityrequest
|
419
420
|
message KeySessionActivityRequest{
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
421
|
+
optional int64 context=1[default=0];
|
422
|
+
optional string session_group=2[default="{99A78737-4B41-4387-8F31-8077DB917336}"];
|
423
|
+
required string key=3;
|
424
|
+
optional int64 maxitems=4[default=100];
|
425
|
+
optional int64 volume_filter=5[default=0];
|
426
|
+
optional int64 duration_filter=6[default=0];
|
427
|
+
required TimeInterval time_interval=7;
|
427
428
|
}
|
428
429
|
|
429
430
|
/////////////////////////////////////
|
430
431
|
// KeySessionActivityResponse
|
431
432
|
message KeySessionActivityResponse{
|
432
|
-
|
433
|
-
|
434
|
-
|
433
|
+
optional int64 context=1;
|
434
|
+
required string session_group=2;
|
435
|
+
repeated SessionID sessions=3;
|
435
436
|
}
|
436
437
|
|
437
438
|
/////////////////////////////////////
|
438
439
|
// SessionTrackerRequest
|
439
440
|
message SessionTrackerRequest {
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
441
|
+
optional int64 context=1[default=0];
|
442
|
+
optional string session_group=2[default="{99A78737-4B41-4387-8F31-8077DB917336}"];
|
443
|
+
required int64 tracker_id=3 [default=1];
|
444
|
+
optional int64 maxitems=4 [default=100];
|
445
|
+
required TimeInterval time_interval=5;
|
445
446
|
}
|
446
447
|
|
447
448
|
///////////////////////////////////
|
448
449
|
// SessionTrackerResponse
|
449
450
|
message SessionTrackerResponse{
|
450
|
-
|
451
|
-
|
452
|
-
|
451
|
+
optional int64 context=1;
|
452
|
+
required string session_group=2;
|
453
|
+
repeated SessionID sessions=3;
|
453
454
|
}
|
454
455
|
|
455
456
|
///////////////////////////////////
|
456
457
|
// SessionGroupRequest
|
457
458
|
message SessionGroupRequest {
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
459
|
+
optional int64 context=1[default=0];
|
460
|
+
optional string session_group=2[default="{99A78737-4B41-4387-8F31-8077DB917336}"];
|
461
|
+
optional int64 tracker_id=3;
|
462
|
+
optional string key_filter=4;
|
463
|
+
optional int64 maxitems=5 [default=100];
|
463
464
|
}
|
464
465
|
|
465
466
|
//////////////////////////////////
|
466
467
|
// SessionGroupResponse
|
467
468
|
message SessionGroupResponse {
|
468
|
-
|
469
|
-
|
470
|
-
|
469
|
+
optional int64 context=1;
|
470
|
+
required string session_group=2;
|
471
|
+
repeated string session_keys=3;
|
471
472
|
}
|
472
473
|
|
473
474
|
|
474
475
|
//////////////////////////////////
|
475
476
|
// ServerStatsRequest
|
476
477
|
message ServerStatsRequest{
|
477
|
-
required int64
|
478
|
+
required int64 param=1;
|
478
479
|
}
|
479
480
|
|
480
481
|
//////////////////////////////////
|
481
482
|
// ServerStatsResponse
|
482
483
|
message ServerStatsResponse{
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
484
|
+
required string instance_name=1;
|
485
|
+
required int64 connections=2;
|
486
|
+
required int64 uptime_seconds=3;
|
487
|
+
required double cpu_usage_percent_trisul=4;
|
488
|
+
required double cpu_usage_percent_total=5;
|
489
|
+
required double mem_usage_trisul=6;
|
490
|
+
required double mem_usage_total=7;
|
491
|
+
required double mem_total=8;
|
492
|
+
required int64 size_total=9;
|
493
|
+
required double drop_percent_cap=11;
|
494
|
+
required double drop_percent_trisul=12;
|
495
|
+
required TimeInterval time_interval=13;
|
495
496
|
}
|
496
497
|
|
497
498
|
/////////////////////////////////////
|
498
499
|
// AlertItemRequest
|
499
500
|
message AlertItemRequest{
|
500
|
-
|
501
|
-
|
502
|
-
|
501
|
+
optional int64 context=1[default=0];
|
502
|
+
required string alert_group=2;
|
503
|
+
repeated AlertID alert_ids=3;
|
503
504
|
}
|
504
505
|
////////////////////////////////////
|
505
506
|
// AlertItemResponse
|
506
507
|
message AlertItemResponse{
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
508
|
+
optional int64 context=1;
|
509
|
+
required string alert_group=2;
|
510
|
+
message Item {
|
511
|
+
optional int64 sensor_id=1;
|
512
|
+
required Timestamp time=2;
|
513
|
+
optional string source_ip=3;
|
514
|
+
optional string source_port=4;
|
515
|
+
optional string destination_ip=5;
|
516
|
+
optional string destination_port=6;
|
517
|
+
required string sigid=7;
|
518
|
+
required string classification=8;
|
519
|
+
required string priority=9;
|
520
|
+
required Timestamp dispatch_time=10;
|
521
|
+
required string aux_message1=11;
|
522
|
+
required string aux_message2=12;
|
523
|
+
}
|
524
|
+
repeated Item items=3;
|
524
525
|
}
|
525
526
|
|
526
527
|
////////////////////////////////////
|
527
528
|
// AlertGroupQueryRequest
|
528
529
|
message AlertGroupRequest {
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
530
|
+
optional int64 context=1[default=0];
|
531
|
+
required string alert_group=2;
|
532
|
+
required TimeInterval time_interval=3;
|
533
|
+
optional int64 maxitems=5 [default=10];
|
534
|
+
optional string source_ip=6;
|
535
|
+
optional string source_port=7;
|
536
|
+
optional string destination_ip=8;
|
537
|
+
optional string destination_port=9;
|
538
|
+
optional string sigid=10;
|
539
|
+
optional string classification=11;
|
540
|
+
optional string priority=12;
|
541
|
+
optional string aux_message1=13;
|
542
|
+
optional string aux_message2=14;
|
542
543
|
}
|
543
544
|
|
544
545
|
/////////////////////////////////////
|
545
546
|
// AlertGroupResponse
|
546
547
|
message AlertGroupResponse {
|
547
|
-
|
548
|
-
|
549
|
-
|
548
|
+
optional int64 context=1;
|
549
|
+
required string alert_group=2;
|
550
|
+
repeated AlertID alerts=3;
|
550
551
|
}
|
551
552
|
|
552
553
|
/////////////////////////////////////
|
553
554
|
// ResourceRequest - mutliple
|
554
555
|
message ResourceItemRequest{
|
555
|
-
|
556
|
-
|
557
|
-
|
556
|
+
optional int64 context=1[default=0];
|
557
|
+
required string resource_group=2;
|
558
|
+
repeated ResourceID resource_ids=3;
|
558
559
|
}
|
559
560
|
////////////////////////////////////
|
560
561
|
// ResourceItemResponse
|
561
562
|
message ResourceItemResponse{
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
563
|
+
optional int64 context=1;
|
564
|
+
required string resource_group=2;
|
565
|
+
message Item {
|
566
|
+
required Timestamp time=1;
|
567
|
+
required ResourceID resource_id=2;
|
568
|
+
optional string source_ip=3;
|
569
|
+
optional string source_port=4;
|
570
|
+
optional string destination_ip=5;
|
571
|
+
optional string destination_port=6;
|
572
|
+
optional string uri=7;
|
573
|
+
optional string userlabel=8;
|
574
|
+
}
|
575
|
+
repeated Item items=3;
|
575
576
|
}
|
576
577
|
|
577
578
|
////////////////////////////////////
|
578
579
|
// ResourceGroupRequest
|
579
580
|
message ResourceGroupRequest {
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
581
|
+
optional int64 context=1[default=0];
|
582
|
+
required string resource_group=2;
|
583
|
+
required TimeInterval time_interval=3;
|
584
|
+
optional int64 maxitems=4 [default=10];
|
585
|
+
optional string source_ip=5;
|
586
|
+
optional string source_port=6;
|
587
|
+
optional string destination_ip=7;
|
588
|
+
optional string destination_port=8;
|
589
|
+
optional string uri_pattern=9;
|
590
|
+
optional string userlabel_pattern=10;
|
590
591
|
}
|
591
592
|
|
592
593
|
/////////////////////////////////////
|
593
594
|
// ResourceGroupResponse
|
594
595
|
message ResourceGroupResponse {
|
595
|
-
|
596
|
-
|
597
|
-
|
596
|
+
optional int64 context=1;
|
597
|
+
required string resource_group=2;
|
598
|
+
repeated ResourceID resources=3;
|
598
599
|
}
|
599
600
|
|
600
601
|
|
@@ -602,19 +603,17 @@ message ResourceGroupResponse {
|
|
602
603
|
/////////////////////////////////////////////
|
603
604
|
// KeyLookup - mutliple keys from a single CG
|
604
605
|
message KeyLookupRequest {
|
605
|
-
|
606
|
-
|
607
|
-
|
606
|
+
optional int64 context=1[default=0];
|
607
|
+
required string counter_group=2;
|
608
|
+
repeated string keys=3;
|
608
609
|
}
|
609
610
|
|
610
611
|
|
611
612
|
/////////////////////////////////////////////
|
612
613
|
// KeyLookup
|
613
614
|
message KeyLookupResponse {
|
614
|
-
|
615
|
-
|
616
|
-
|
615
|
+
optional int64 context=1;
|
616
|
+
required string counter_group=2;
|
617
|
+
repeated KeyDetails key_details=3;
|
617
618
|
}
|
618
619
|
|
619
|
-
|
620
|
-
|
data/test/test_key.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Trisul Remote Protocol TRP Demo script
|
2
|
+
require 'rubygems'
|
3
|
+
require './helper'
|
4
|
+
include TrisulRP::Protocol
|
5
|
+
include TrisulRP::Keys
|
6
|
+
|
7
|
+
class TestTrisulrp < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def test_keys
|
10
|
+
p "0A.01.3C.BB = "
|
11
|
+
p TrisulRP::Keys::make_readable( "0A.01.3C.BB" )
|
12
|
+
|
13
|
+
p "10.1.60.187 = "
|
14
|
+
p TrisulRP::Keys::make_key( "10.1.60.187" )
|
15
|
+
|
16
|
+
p "p-01BB = "
|
17
|
+
p TrisulRP::Keys::make_readable( "p-01BB" )
|
18
|
+
|
19
|
+
p "Port-443 = "
|
20
|
+
p TrisulRP::Keys::make_key( "Port-443" )
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
|
data/trisulrp.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{trisulrp}
|
8
|
-
s.version = "1.2.
|
8
|
+
s.version = "1.2.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["vivek"]
|
@@ -50,6 +50,7 @@ Gem::Specification.new do |s|
|
|
50
50
|
"test/helper.rb",
|
51
51
|
"test/test_alerts.rb",
|
52
52
|
"test/test_cap.rb",
|
53
|
+
"test/test_key.rb",
|
53
54
|
"test/test_key_flows.rb",
|
54
55
|
"test/test_resources.rb",
|
55
56
|
"test/test_trisulrp.rb"
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 1.2.
|
8
|
+
- 6
|
9
|
+
version: 1.2.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- vivek
|
@@ -135,6 +135,7 @@ files:
|
|
135
135
|
- test/test_resources.rb
|
136
136
|
- test/test_trisulrp.rb
|
137
137
|
- trisulrp.gemspec
|
138
|
+
- test/test_key.rb
|
138
139
|
has_rdoc: true
|
139
140
|
homepage: http://github.com/vivekrajan/trisulrp
|
140
141
|
licenses:
|
@@ -149,7 +150,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
150
|
requirements:
|
150
151
|
- - ">="
|
151
152
|
- !ruby/object:Gem::Version
|
152
|
-
hash:
|
153
|
+
hash: -636582125
|
153
154
|
segments:
|
154
155
|
- 0
|
155
156
|
version: "0"
|
@@ -173,6 +174,7 @@ test_files:
|
|
173
174
|
- test/helper.rb
|
174
175
|
- test/test_alerts.rb
|
175
176
|
- test/test_cap.rb
|
177
|
+
- test/test_key.rb
|
176
178
|
- test/test_key_flows.rb
|
177
179
|
- test/test_resources.rb
|
178
180
|
- test/test_trisulrp.rb
|