Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
Server MAY respond an error related to encryption
Format description: - 16B: Initialization Vector (this information does not need to be secret) All the following data is encrypted using AES-256 in CBC mode: - 64B: SHA-512 of message content (to check content integrity) - XB: message content - Byte-padding in [PKCS7](https://en.wikipedia.org/wiki/Padding_(cryptography)#PKCS7)
Used in:
Used in:
Encryption is not supported for this format or key is not set
Encryption process cannot end successfully, incorrect key ?
An internal error occured during this message processing
Used in:
If set of request, the same message message_id will be set for response This is particulary usefull to keep track when having several requests
Used in:
Change log level of application Valid values are 'none', 'error', 'warning', 'info' or 'debug'
Used in:
Start date of application
Current date of application
Request counter made to API
Representation of connected network bricks inside application This graphic is represented in DOT language.
Used in:
Address of CIDR (v4 or v6)
Mask size Values MUST be between 0 and 32 for IPv4 Values MUST be between 0 and 128 for IPv6
Used in:
Used in:
Firewall data containing sessions
Used in: ,
Network Interface Card identifier
MAC-48 address separated by colons (:) in transmission order e.g. 52:54:00:00:d7:11
24 bits Virtual Network Id, must be < 2^24
NIC can have several IP (v4 or/and v6)
List of Security Group identifier
IP anti-spoof (off by default) IP anti-spoof can only work if NIC has it's IP filled Note that MAC anti-spoof always ON
Ask this NIC to sniff another If this option is set, all data from and to the targeted NIC will be mirrored to this NIC. Note this NIC won't be able to emit any packet to the outside. Setting this option disable any anti-spoof feature on this NIC. The option corresponds to the targeted NIC id. Warning: not implemented
Bypass all filtering (off by default): - security groups won't affect this nic - antispoof protection won't operate - VM can send any packet, any mac, any ip
Nic type
Nic path may be set depending of NIC's type
dump VM traffic in pcap file
path to store pcap file
if type is benchmark, the kind of bebnchmark you want to do ICMP-like-snd and ICMP-like-rcv are the only options avable now
for benchmark, dip and dmac are dest mac and dest ip, same format as ip and mac
Used in:
A nic of type vhost-user acting as a server Butterfly will create a unix socket "path" in Nic object is set when requesting Nic details but it will be ignored at nic creation at the moment
Used in:
Path to the created NIC socket vhost-user://UNIX_SOCKET_PATH
Used in:
NIC statistics
Used in:
Amount of data comming in the NIC expressed in bytes Note that value MAY overflow
Amount of data comming out of the NIC expressed in bytes Note that value MAY overflow
Used in:
NIC id to update
Update IP anti-spoof
Replace all IP of NIC To erase all ip, set a empty string
Replace Security Groups of a NIC To remove all security groups, set a empty string
Update dumping vm traffic in pcap file
path to store pcap file
Only one field must be filled in Request
Used in:
Create a NIC If a NIC already exists, old NIC will be removed Response MUST have nic_add filled
Update some informations of a NIC Will replaced provided values in corresponding NIC
Remove a NIC by providing it's id
List all NICs (just NICs id) Can be true or false, it just have to be set Reponse MUST have nic_list filled
List details of a specific NIC or all NIcs Ask details of a specific NIC by passing it's id Ask details of all NICs by passing an empty string Reponse MUST have nic_details filled
Export firewall data, used for VM migration by giving it's id Reponse MUST have nic_export filled Warning: not implemented
Provide statistics about a particular NIC by giving it's id Reponse MUST have nic_stats filled
Create or Replace a Security Group If Security Group does not exist, will create it If Security Group already exist, will replace it (rules and members)
Delete a Security Group by giving it's id
List all Security Groups (just SGs id) Can be true or false, it just have to be set Response MUST have sg_list filled
Add rule to a Security Group Will create the corresponding Security Group if does not exists
Delete a rule from a Security Group
List all rules of a Security Group by giving it's id Reponse MUST have sg_rule_list filled
Add a member (IP) to a Security Group Will create the corresponding Security Group if does not exists
Delete a member (IP) from a Security Group
List of all members of a specific Security Group by giving it's id Reponse MUST have sg_member_list filled
Ask application status informations Can be true or false, it just have to be set Response MUST have app_status filled
Clean and quit Butterfly server Can be true or false, it just have to be set
Ask to configure some parameters in application
List details of a specific SG or all SGs Ask details of a specific SG by passing it's id Ask details of all SGs by passing an empty string Reponse MUST have sg_details filled
Used in:
Generic return status of a command
Reponse to a NIC creation
List of all NICs id
Details of one NIC or all NICs
Provide firewall data session of a NIC
Provide stats of a NIC
List of all Security Groups identifiers
List of all rules of a specific Security Group
List of all members IP of a specific Security Group
Status informations
Details of one SG or all SGs
Used in: , , ,
Protocol number. MUST be one of standard protocol number from http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml or MUST be -1 for all protocols Value range: 0-255 or -1 Hint: TCP:6 UDP:17
Note that port_start and port_end are REQUIRED if used with TCP or UDP Port range start (for TCP or UDP only) If set, value MUST be between 0 and 65535 (included)
Port range end (for TCP or UDP only) If set, value MUST be between 0 and 65535 (included)
Note that only one parameter below is REQUIRED You cannot specify CIDR and security_group CIDR
Design members of a security group
Used in:
For packets comming in the NIC
For packets comming out from the NIC Warning: not implemented
Used in: ,
Security Group identifier
IP list of Security Group members
List of firewalling rules to apply
Used in:
Security group id
Member's IP
Used in:
Security group id
Member's IP
Used in:
Security group id
Rule description to add
Used in:
Security group id
Rule description to delete
Used in:
Set to true if there is no error, false otherwhise
MAY be filled when status is false