Network discovery protocol¶
Server to agent message¶
Specification¶
{
"id": ''string'',
"type": "netdiscovery",
"workers": ''integer'',
"targets": [
{
"network": ''string'',
"workers": ''integer'',
"timeout": ''integer'',
"credentials": [
{
"version": ''string'',
"community": ''string'',
"username": ''string'',
"authprotocol": ''string'',
"authpassword": ''string'',
"privprotocol": ''string'',
"privpassword": ''string'',
"timeout": ''integer'',
},
...
]
},
...
]
}
Example
{
"id": "job1"
"type": "netdiscovery",
"workers": 2,
"targets": [
{
"network": "192.168.0.0/24",
"workers": 10,
"timeout": 5,
"credentials": [
{
"version": "2c",
"community": "public"
},
{
"version": "1",
"community": "public"
},
],
},
{
"network": "192.168.1.1-192.168.1.254",
"workers": 5,
"timeout": 2,
"credentials": [
{
"version": "3",
"username": "foo",
"authprotocol": "sha1",
"authpassword": "bar",
},
],
},
],
},
Agent to server message¶
Specification¶
<!ELEMENT REQUEST (CONTENT+, DEVICEID, QUERY)>
<!ELEMENT CONTENT (DEVICE*, MODULEVERSION, PROCESSNUMBER)>
<!-- a device -->
<!ELEMENT DEVICE (IP, MAC?, AUTHSNMP?, TYPE?, MANUFACTURER?, MODEL?,
DESCRIPTION?, SNMPHOSTNAME?, LOCATION?, CONTACT?, SERIAL?, FIRMWARE?,
UPTIME?, IPS? DNSHOSTNAME?, NETPORTVENDOR?, NETBIOSNAME?, WORKGROUP?,
USERSESSION?)>
<!-- IP address -->
<!ELEMENT IP (#PCDATA)>
<!-- mac address -->
<!ELEMENT MAC (#PCDATA)>
<!-- Information retrieved from SNMP -->
<!-- credentials ID -->
<!ELEMENT AUTHSNMP (#PCDATA)>
<!-- type
(COMPUTER|NETWORKING|PRINTER|STORAGE|POWER|PHONE|VIDEO|KVM) -->
<!ELEMENT TYPE (#PCDATA)>
<!-- manufacturer -->
<!ELEMENT MANUFACTURER (#PCDATA)>
<!-- model -->
<!ELEMENT MODEL (#PCDATA)>
<!-- description (sysDescr) -->
<!ELEMENT DESCRIPTION (#PCDATA)>
<!-- host name -->
<!ELEMENT SNMPHOSTNAME (#PCDATA)>
<!-- location -->
<!ELEMENT LOCATION (#PCDATA)>
<!-- contact -->
<!ELEMENT CONTACT (#PCDATA)>
<!-- serial number -->
<!ELEMENT SERIAL (#PCDATA)>
<!-- firmware version -->
<!ELEMENT FIRMWARE (#PCDATA)>
<!-- uptime ("X days, HH:MM::SS" format) -->
<!ELEMENT UPTIME (#PCDATA)>
<!-- IP addresses -->
<!ELEMENT IPS (IP+)>
<!-- IP address -->
<!ELEMENT IP (#PCDATA)>
<!-- Information retrieved from Nmap -->
<!-- host name -->
<!ELEMENT DNSHOSTNAME (#PCDATA)>
<!-- vendor -->
<!ELEMENT NETPORTVENDOR (#PCDATA)>
<!-- Information retrieved from NetBios -->
<!-- host name -->
<!ELEMENT NETBIOSNAME (#PCDATA)>
<!-- user name -->
<!ELEMENT USERSESSION (#PCDATA)>
<!-- workgroup -->
<!ELEMENT USERSESSION (#PCDATA)>
<!-- netsdiscovery module version(string) -->
<!ELEMENT MODULEVERSION (#PCDATA)> # netdiscovery module version
<!-- server process ID (integer) -->
<!ELEMENT PROCESSNUMBER (#PCDATA)>
<!-- agent ID (string) -->
<!ELEMENT DEVICEID (#PCDATA)> # agent ID (string)
<!-- message type, ie "NETDISCOVERY" -->
<!ELEMENT QUERY (#PCDATA)>
Example
<?xml version="1.0" encoding="UTF-8" ?>
<REQUEST>
<CONTENT>
<DEVICE>
<AUTHSNMP>1</AUTHSNMP>
<CONTACT>dsi.sesi.reseau@inria.fr</CONTACT>
<DESCRIPTION>Cisco NX-OS(tm) n5000, Software (n5000-uk9), Version 5.2(1)N1(5), RELEASE SOFTWARE Copyright (c) 2002-2011 by Cisco Systems, Inc. Device Manager Version 6.1(1), Compiled 6/27/2013 16:00:00</DESCRIPTION>
<FIRMWARE>CW_VERSION$5.2(1)N1(5)$</FIRMWARE>
<IP>192.168.0.8</IP>
<LOCATION>Inria dc1 salle 07</LOCATION>
<MAC>00:23:04:ee:be:02</MAC>
<MANUFACTURER>Cisco</MANUFACTURER>
<MODEL>Cisco Nexus 5596</MODEL>
<SNMPHOSTNAME>swdc-07-01-dc1</SNMPHOSTNAME>
<TYPE>NETWORKING</TYPE>
<UPTIME>175 days, 11:33:37.48</UPTIME>
</DEVICE>
<MODULEVERSION>2.3.9901</MODULEVERSION>
<PROCESSNUMBER>1</PROCESSNUMBER>
</CONTENT>
<DEVICEID>qlf-sesi-inventory.inria.fr-2013-11-14-17-47-17</DEVICEID>
<QUERY>NETDISCOVERY</QUERY>
</REQUEST>