1 DROP DATABASE IF EXISTS prads;
4 -- use prads; -- mysql specific
5 drop table if exists asset;
6 -- autoincrements in postgres
7 drop sequence asset_id_seq;
8 create sequence asset_id_seq;
11 -- assetID INT NOT NULL AUTO_INCREMENT,
12 assetID INT NOT NULL default nextval('asset_id_seq'),
13 hostname TEXT default '',
14 sensorID INT NOT NULL default '0',
15 timestamp TIMESTAMP default NULL,
16 --ipaddress decimal(39,0) default NULL,
17 ipaddress inet default null,
18 mac_address VARCHAR(20) NOT NULL default '',
19 mac_vendor VARCHAR(50) NOT NULL default '',
21 os_details TEXT default '',
22 os_fingerprint TEXT default '',
24 distance INT default '0',
25 service TEXT default '',
26 application TEXT default '',
28 protocol SMALLINT NOT NULL default '0',
29 hex_payload TEXT default '',
30 --constraint uniq unique (ipaddress,port,protocol,service,application),
31 --UNIQUE KEY unique_row_key (ipaddress,port,protocol,service,application),
32 --PRIMARY KEY (sensorID,assetID),
33 constraint prikey primary key (sensorID, assetID),
42 CREATE TABLE IF NOT EXISTS `asset` (
43 `assetID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
44 `hostname` VARCHAR(255) NOT NULL default '',
45 `sensorID` INT UNSIGNED NOT NULL default '0',
46 `timestamp` DATETIME NOT NULL default '0000-00-00 00:00:00',
47 `ipaddress` decimal(39,0) unsigned default NULL,
48 `mac_address` VARCHAR(20) NOT NULL default '',
49 `mac_vendor` VARCHAR(50) NOT NULL default '',
50 `os` VARCHAR(20) NOT NULL default '',
51 `os_details` VARCHAR(255) NOT NULL default '',
52 `os_fingerprint` VARCHAR(255) NOT NULL default '',
53 `link` VARCHAR(20) NOT NULL default '',
54 `distance` INT UNSIGNED NOT NULL default '0',
55 `service` VARCHAR(50) NOT NULL default '',
56 `application` VARCHAR(255) NOT NULL default '',
57 `port` INT UNSIGNED NOT NULL default '0',
58 `protocol` TINYINT UNSIGNED NOT NULL default '0',
59 `hex_payload` VARCHAR(255) default '',
60 UNIQUE KEY `unique_row_key` (`ipaddress`,`port`,`protocol`,`service`,`application`),
61 PRIMARY KEY (`sensorID`,`assetID`)
66 CREATE FUNCTION INET_ATON6(n CHAR(39))
69 RETURN CAST(CONV(SUBSTRING(n FROM 1 FOR 4), 16, 10) AS DECIMAL(39))
70 * 5192296858534827628530496329220096 -- 65536 ^ 7
71 + CAST(CONV(SUBSTRING(n FROM 6 FOR 4), 16, 10) AS DECIMAL(39))
72 * 79228162514264337593543950336 -- 65536 ^ 6
73 + CAST(CONV(SUBSTRING(n FROM 11 FOR 4), 16, 10) AS DECIMAL(39))
74 * 1208925819614629174706176 -- 65536 ^ 5
75 + CAST(CONV(SUBSTRING(n FROM 16 FOR 4), 16, 10) AS DECIMAL(39))
76 * 18446744073709551616 -- 65536 ^ 4
77 + CAST(CONV(SUBSTRING(n FROM 21 FOR 4), 16, 10) AS DECIMAL(39))
78 * 281474976710656 -- 65536 ^ 3
79 + CAST(CONV(SUBSTRING(n FROM 26 FOR 4), 16, 10) AS DECIMAL(39))
80 * 4294967296 -- 65536 ^ 2
81 + CAST(CONV(SUBSTRING(n FROM 31 FOR 4), 16, 10) AS DECIMAL(39))
83 + CAST(CONV(SUBSTRING(n FROM 36 FOR 4), 16, 10) AS DECIMAL(39))
90 CREATE FUNCTION INET_NTOA6(n DECIMAL(39) UNSIGNED)
94 DECLARE a CHAR(39) DEFAULT '';
95 DECLARE i INT DEFAULT 7;
96 DECLARE q DECIMAL(39) DEFAULT 0;
97 DECLARE r INT DEFAULT 0;
99 -- DIV doesn't work with nubers > bigint
100 SET q := FLOOR(n / 65536);
101 SET r := n MOD 65536;
103 SET a := CONCAT_WS(':', LPAD(CONV(r, 10, 16), 4, '0'), a);
108 SET a := TRIM(TRAILING ':' FROM CONCAT_WS(':',
109 LPAD(CONV(n, 10, 16), 4, '0'),
123 /* CREATE TABLE asset (
138 CREATE TABLE protocol (
140 name VARCHAR(100) NOT NULL default '',
141 PRIMARY KEY (protoID),
145 INSERT INTO protocol VALUES (0, 'HOPOPT');
146 INSERT INTO protocol VALUES (1, 'ICMP');
147 INSERT INTO protocol VALUES (2, 'IGMP');
148 INSERT INTO protocol VALUES (3, 'GGP');
149 INSERT INTO protocol VALUES (4, 'IP');
150 INSERT INTO protocol VALUES (5, 'ST');
151 INSERT INTO protocol VALUES (6, 'TCP');
152 INSERT INTO protocol VALUES (7, 'CBT');
153 INSERT INTO protocol VALUES (8, 'EGP');
154 INSERT INTO protocol VALUES (9, 'IGP');
155 INSERT INTO protocol VALUES (10, 'BBN-RCC-MON');
156 INSERT INTO protocol VALUES (11, 'NVP-II');
157 INSERT INTO protocol VALUES (12, 'PUP');
158 INSERT INTO protocol VALUES (13, 'ARGUS');
159 INSERT INTO protocol VALUES (14, 'EMCON');
160 INSERT INTO protocol VALUES (15, 'XNET');
161 INSERT INTO protocol VALUES (16, 'CHAOS');
162 INSERT INTO protocol VALUES (17, 'UDP');
163 INSERT INTO protocol VALUES (18, 'MUX');
164 INSERT INTO protocol VALUES (19, 'DCN-MEAS');
166 INSERT INTO protocol VALUES (20, 'HMP');
167 INSERT INTO protocol VALUES (21, 'PRM');
168 INSERT INTO protocol VALUES (22, 'XNS-IDP');
169 INSERT INTO protocol VALUES (23, 'TRUNK-1');
170 INSERT INTO protocol VALUES (24, 'TRUNK-2');
171 INSERT INTO protocol VALUES (25, 'LEAF-1');
172 INSERT INTO protocol VALUES (26, 'LEAF-2');
173 INSERT INTO protocol VALUES (27, 'RDP');
174 INSERT INTO protocol VALUES (28, 'IRTP');
175 INSERT INTO protocol VALUES (29, 'ISO-TP4');
177 INSERT INTO protocol VALUES (30, 'NETBLT');
178 INSERT INTO protocol VALUES (31, 'MFE-NSP');
179 INSERT INTO protocol VALUES (32, 'MERIT-INP');
180 INSERT INTO protocol VALUES (33, 'DCCP');
181 INSERT INTO protocol VALUES (34, '3PC');
182 INSERT INTO protocol VALUES (35, 'IDPR');
183 INSERT INTO protocol VALUES (36, 'XTP');
184 INSERT INTO protocol VALUES (37, 'DDP');
185 INSERT INTO protocol VALUES (38, 'IDPR-CMTP');
186 INSERT INTO protocol VALUES (39, 'TP++');
188 INSERT INTO protocol VALUES (40, 'IL');
189 INSERT INTO protocol VALUES (41, 'IPv6');
190 INSERT INTO protocol VALUES (42, 'SDRP');
191 INSERT INTO protocol VALUES (43, 'IPv6-Route');
192 INSERT INTO protocol VALUES (44, 'IPv6-Frag');
193 INSERT INTO protocol VALUES (45, 'IDRP');
194 INSERT INTO protocol VALUES (46, 'RSVP');
195 INSERT INTO protocol VALUES (47, 'GRE');
196 INSERT INTO protocol VALUES (48, 'MHRP');
197 INSERT INTO protocol VALUES (49, 'BNA');
199 INSERT INTO protocol VALUES (50, 'ESP');
200 INSERT INTO protocol VALUES (51, 'AH');
201 INSERT INTO protocol VALUES (52, 'I-NLSP');
202 INSERT INTO protocol VALUES (53, 'SWIPE');
203 INSERT INTO protocol VALUES (54, 'NARP');
204 INSERT INTO protocol VALUES (55, 'MOBILE');
205 INSERT INTO protocol VALUES (56, 'TLSP');
206 INSERT INTO protocol VALUES (57, 'SKIP');
207 INSERT INTO protocol VALUES (58, 'IPv6-ICMP');
208 INSERT INTO protocol VALUES (59, 'IPv6-NoNxt');
210 INSERT INTO protocol VALUES (60, 'IPv6-Opts');
211 INSERT INTO protocol VALUES (61, 'Any host internal protocol');
212 INSERT INTO protocol VALUES (62, 'CFTP');
213 INSERT INTO protocol VALUES (63, 'Any local network');
214 INSERT INTO protocol VALUES (64, 'SAT-EXPAK');
215 INSERT INTO protocol VALUES (65, 'KRYPTOLAN');
216 INSERT INTO protocol VALUES (66, 'RVD');
217 INSERT INTO protocol VALUES (67, 'IPPC');
218 INSERT INTO protocol VALUES (68, 'Any distributed file system');
219 INSERT INTO protocol VALUES (69, 'SAT-MON');
221 INSERT INTO protocol VALUES (70, 'VISA');
222 INSERT INTO protocol VALUES (71, 'IPCV');
223 INSERT INTO protocol VALUES (72, 'CPNX');
224 INSERT INTO protocol VALUES (73, 'CPHB');
225 INSERT INTO protocol VALUES (74, 'WSN');
226 INSERT INTO protocol VALUES (75, 'PVP');
227 INSERT INTO protocol VALUES (76, 'BR-SAT-MON');
228 INSERT INTO protocol VALUES (77, 'SUN-ND');
229 INSERT INTO protocol VALUES (78, 'WB-MON');
230 INSERT INTO protocol VALUES (79, 'WB-EXPAK');
232 INSERT INTO protocol VALUES (80, 'ISO-IP');
233 INSERT INTO protocol VALUES (81, 'VMTP');
234 INSERT INTO protocol VALUES (82, 'SECURE-VMTP');
235 INSERT INTO protocol VALUES (83, 'VINES');
236 INSERT INTO protocol VALUES (84, 'TTP');
237 INSERT INTO protocol VALUES (85, 'NSFNET-IGP');
238 INSERT INTO protocol VALUES (86, 'DGP');
239 INSERT INTO protocol VALUES (87, 'TCF');
240 INSERT INTO protocol VALUES (88, 'EIGRP');
241 INSERT INTO protocol VALUES (89, 'OSPF');
243 INSERT INTO protocol VALUES (90, 'Sprite-RPC');
244 INSERT INTO protocol VALUES (91, 'LARP');
245 INSERT INTO protocol VALUES (92, 'MTP');
246 INSERT INTO protocol VALUES (93, 'AX.25');
247 INSERT INTO protocol VALUES (94, 'IPIP');
248 INSERT INTO protocol VALUES (95, 'MICP');
249 INSERT INTO protocol VALUES (96, 'SCC-SP');
250 INSERT INTO protocol VALUES (97, 'ETHERIP');
251 INSERT INTO protocol VALUES (98, 'ENCAP');
252 INSERT INTO protocol VALUES (99, 'Any private encryption scheme');
254 INSERT INTO protocol VALUES (100, 'GMTP');
255 INSERT INTO protocol VALUES (101, 'IFMP');
256 INSERT INTO protocol VALUES (102, 'PNNI');
257 INSERT INTO protocol VALUES (103, 'PIM');
258 INSERT INTO protocol VALUES (104, 'ARIS');
259 INSERT INTO protocol VALUES (105, 'SCPS');
260 INSERT INTO protocol VALUES (106, 'QNX');
261 INSERT INTO protocol VALUES (107, 'A/N');
262 INSERT INTO protocol VALUES (108, 'IPComp');
263 INSERT INTO protocol VALUES (109, 'SNP');
265 INSERT INTO protocol VALUES (110, 'Compaq-Peer');
266 INSERT INTO protocol VALUES (111, 'IPX-in-IP');
267 INSERT INTO protocol VALUES (112, 'VRRP');
268 INSERT INTO protocol VALUES (113, 'PGM');
269 INSERT INTO protocol VALUES (114, 'Any 0-hop protocol');
270 INSERT INTO protocol VALUES (115, 'L2TP');
271 INSERT INTO protocol VALUES (116, 'DDX');
272 INSERT INTO protocol VALUES (117, 'IATP');
273 INSERT INTO protocol VALUES (118, 'STP');
274 INSERT INTO protocol VALUES (119, 'SRP');
276 INSERT INTO protocol VALUES (120, 'UTI');
277 INSERT INTO protocol VALUES (121, 'SMP');
278 INSERT INTO protocol VALUES (122, 'SM');
279 INSERT INTO protocol VALUES (123, 'PTP');
280 INSERT INTO protocol VALUES (124, 'IS-IS over IPv4');
281 INSERT INTO protocol VALUES (125, 'FIRE');
282 INSERT INTO protocol VALUES (126, 'CRTP');
283 INSERT INTO protocol VALUES (127, 'CRUDP');
284 INSERT INTO protocol VALUES (128, 'SSCOPMCE');
285 INSERT INTO protocol VALUES (129, 'IPLT');
287 INSERT INTO protocol VALUES (130, 'SPS');
288 INSERT INTO protocol VALUES (131, 'PIPE');
289 INSERT INTO protocol VALUES (132, 'SCTP');
290 INSERT INTO protocol VALUES (133, 'FC');
291 INSERT INTO protocol VALUES (134, 'RSVP-E2E-IGNORE');
292 INSERT INTO protocol VALUES (135, 'Mobility Header');
293 INSERT INTO protocol VALUES (136, 'UDP Lite');
294 INSERT INTO protocol VALUES (137, 'MPLS-in-IP');
295 INSERT INTO protocol VALUES (138, 'MANET');
296 INSERT INTO protocol VALUES (139, 'HIP');
298 INSERT INTO protocol VALUES (140, 'Shim6');
300 INSERT INTO protocol VALUES (141, 'UNASSIGNED');
301 INSERT INTO protocol VALUES (142, 'UNASSIGNED');
302 INSERT INTO protocol VALUES (143, 'UNASSIGNED');
303 INSERT INTO protocol VALUES (144, 'UNASSIGNED');
304 INSERT INTO protocol VALUES (145, 'UNASSIGNED');
305 INSERT INTO protocol VALUES (146, 'UNASSIGNED');
306 INSERT INTO protocol VALUES (147, 'UNASSIGNED');
307 INSERT INTO protocol VALUES (148, 'UNASSIGNED');
308 INSERT INTO protocol VALUES (149, 'UNASSIGNED');
310 INSERT INTO protocol VALUES (150, 'UNASSIGNED');
311 INSERT INTO protocol VALUES (151, 'UNASSIGNED');
312 INSERT INTO protocol VALUES (152, 'UNASSIGNED');
313 INSERT INTO protocol VALUES (153, 'UNASSIGNED');
314 INSERT INTO protocol VALUES (154, 'UNASSIGNED');
315 INSERT INTO protocol VALUES (155, 'UNASSIGNED');
316 INSERT INTO protocol VALUES (156, 'UNASSIGNED');
317 INSERT INTO protocol VALUES (157, 'UNASSIGNED');
318 INSERT INTO protocol VALUES (158, 'UNASSIGNED');
319 INSERT INTO protocol VALUES (159, 'UNASSIGNED');
322 --# INSERT INTO protocol VALUES (254, 'UNASSIGNED');
324 INSERT INTO protocol VALUES (255, 'Reserved');