Project

General

Profile

Expand WebService class

Aim:

Add ways to add parameters to a WebService.

Web services always have lots of parameters. Some of them native, standard parameters, likeuser-agent or host, others URL parameters that can be set arbitrarily. These parameters could be given in the attribute arg from the WebService class. However, this field was a single string, whereas arbitrarily set parameters are key-value couples.

Solution 1:

Add a WebServiceHeaderParams class to add HTTP parameters
Always write name_of_parameter:value in the attribute arg. For example : lang:fr.

Impacted Class Proposed Field Type
WebService->WebServiceHeaderParams parameter host
referer
user-agent
server
cookie
http-method
other
value String

Pros

Cons

  • This is not really easy to read or process.

Solution 2:

Add a WebServiceHeaderParams class to add HTTP parameters
Add a way to give the class "labels" containing the name of the parameter and its value.

Impacted Class Proposed Field Type
WebService->WebServiceHeaderParams parameter host
referer
user-agent
server
cookie
http-method
other
value String
WebService->WebServiceParams
parameter String
value String
WebService arg

Pros

  • The same method that is already used to add addresses to a node or userIds to a user : a new class that can be instanciated as many times as needed : one for each label necessary.

Cons

  • Attention of backwards compatibility

Meetings :

30/10/2015 Meeting: This is once again IDMEF's main problem : it's too precise and not offering enough information at the same time. these fields are going to be useful.
what for the potential consequences of the disappearance of arg on bakward compatibility ?
TODO : Ask sensor developpers if the suggested standard parameters suit them.
TODO : Explain more thoroughly the concept of "label" in the tutorials.