root/branch/umitweb-ng/share/umit/sql/sqlite-schema.sql @ 4770

Revision 4770, 9.2 kB (checked in by rcarvalho, 4 years ago)

Merged revisions 4208-4214 via svnmerge from
http://svn.umitproject.org/svnroot/umit/trunk

........

r4208 | gpolo | 2009-02-27 15:54:02 -0300 (Sex, 27 Fev 2009) | 1 line


Fixed ticket #213. HOME under Windows is now set to the user's local appdata.

........

r4209 | gpolo | 2009-02-27 15:55:22 -0300 (Sex, 27 Fev 2009) | 1 line


Adjusted to work with win32com.shell imports.

........

r4210 | gpolo | 2009-02-27 15:58:49 -0300 (Sex, 27 Fev 2009) | 1 line


Fixed ticket #199: "Umit may hang while staring".

........

r4211 | gpolo | 2009-02-27 20:09:20 -0300 (Sex, 27 Fev 2009) | 1 line


Generate a service class string from the service path if given. This helps installing the service inside Umit in case umit_scheduler.py moves to somewhere else (like to bin/).

........

r4212 | gpolo | 2009-02-27 20:21:42 -0300 (Sex, 27 Fev 2009) | 1 line


Setting service path

........

r4213 | gpolo | 2009-02-28 18:17:47 -0300 (Sáb, 28 Fev 2009) | 1 line


Relayout

........

r4214 | gpolo | 2009-02-28 18:45:29 -0300 (Sáb, 28 Fev 2009) | 3 lines


Moved umitDB/sql to share/umit/sql, updated installers. This also fixes
ticket #220.

........

Line 
1-- Copyright (C) 2007 Adriano Monteiro Marques
2--
3-- Authors: Joao Paulo de Souza Medeiros <ignotus21@gmail.com>,
4--          Guilherme Polo <ggpolo@gmail.com>
5--
6-- This program is free software; you can redistribute it and/or modify
7-- it under the terms of the GNU General Public License as published by
8-- the Free Software Foundation; either version 2 of the License, or
9-- (at your option) any later version.
10--
11-- This program is distributed in the hope that it will be useful,
12-- but WITHOUT ANY WARRANTY; without even the implied warranty of
13-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14-- GNU General Public License for more details.
15--
16-- You should have received a copy of the GNU General Public License
17-- along with this program; if not, write to the Free Software
18-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19-- USA
20
21
22-------------------
23-- Scan
24-------------------
25
26CREATE TABLE scan (
27    pk                INTEGER NOT NULL PRIMARY KEY,
28    args              TEXT,
29    start             TIMESTAMP,
30    startstr          TEXT,
31    finish            TIMESTAMP,
32    finishstr         TEXT,
33    xmloutputversion  TEXT,
34    xmloutput         TEXT,
35    verbose           INTEGER,
36    debugging         INTEGER,
37    hosts_up          INTEGER,
38    hosts_down        INTEGER,
39    fk_scanner        INTEGER NOT NULL CONSTRAINT fk_scanner
40                         REFERENCES scanner(pk)
41);
42
43CREATE TABLE scaninfo (
44    pk            INTEGER NOT NULL PRIMARY KEY,
45    numservices   INTEGER,
46    services      TEXT,
47    fk_scan       INTEGER NOT NULL CONSTRAINT fk_scan
48                     REFERENCES scan(pk),
49    fk_scan_type  INTEGER NOT NULL CONSTRAINT fk_type
50                     REFERENCES scan_type(pk),
51    fk_protocol   INTEGER NOT NULL CONSTRAINT fk_protocol
52                     REFERENCES protocol(pk)
53);
54
55CREATE TABLE scan_type (
56    pk    INTEGER NOT NULL PRIMARY KEY,
57    name  TEXT CHECK (name IN ('syn', 'ack', 'bounce', 'connect', 'null',
58                               'xmas', 'window', 'maimon', 'fin', 'udp',
59                               'ipproto'))
60);
61
62CREATE TABLE scanner (
63    pk       INTEGER NOT NULL PRIMARY KEY,
64    name     TEXT,
65    version  TEXT
66);
67
68
69-------------------
70-- Host
71-------------------
72
73CREATE TABLE host (
74    pk             INTEGER NOT NULL PRIMARY KEY,
75    distance       INTEGER,
76    fk_scan        INTEGER NOT NULL CONSTRAINT fk_scan
77                      REFERENCES scan(pk),
78    fk_host_state  INTEGER NOT NULL CONSTRAINT fk_host_state
79                      REFERENCES host_state(pk)
80);
81
82CREATE TABLE fingerprint_info (
83    pk                       INTEGER NOT NULL PRIMARY KEY,
84    uptime                   INTEGER,
85    lastboot                 TEXT,
86    signature                TEXT,
87    tcp_sequence_class       TEXT,
88    tcp_sequence_index       TEXT,
89    tcp_sequence_value       TEXT,
90    tcp_sequence_difficulty  TEXT,
91    tcp_ts_sequence_class    TEXT,
92    tcp_ts_sequence_value    TEXT,
93    ip_id_sequence_class     TEXT,
94    ip_id_sequence_value     TEXT,
95    fk_host                  INTEGER NOT NULL CONSTRAINT fk_host
96                                REFERENCES host(pk)
97);
98
99-- OS Detection
100
101CREATE TABLE osmatch (
102    pk        INTEGER NOT NULL PRIMARY KEY,
103    name      TEXT,
104    accuracy  INTEGER,
105    line      INTEGER,
106    fk_host   INTEGER NOT NULL CONSTRAINT fk_host
107                 REFERENCES host(pk)
108);
109
110CREATE TABLE osclass (
111    pk           INTEGER NOT NULL PRIMARY KEY,
112    accuracy     INTEGER,
113    fk_osgen     INTEGER NOT NULL CONSTRAINT fk_osgen
114                    REFERENCES osgen(pk),
115    fk_osfamily  INTEGER NOT NULL CONSTRAINT fk_osfamily
116                    REFERENCES osfamily(pk),
117    fk_osvendor  INTEGER NOT NULL CONSTRAINT fk_osvendor
118                    REFERENCES osvendor(pk),
119    fk_ostype    INTEGER NOT NULL CONSTRAINT fk_ostype
120                    REFERENCES ostype(pk),
121    fk_host      INTEGER NOT NULL CONSTRAINT fk_host
122                    REFERENCES host(pk)
123);
124
125CREATE TABLE osgen (
126    pk   INTEGER NOT NULL PRIMARY KEY,
127    gen  TEXT
128);
129
130CREATE TABLE osfamily (
131    pk      INTEGER NOT NULL PRIMARY KEY,
132    family  TEXT
133);
134
135CREATE TABLE osvendor (
136    pk      INTEGER NOT NULL PRIMARY KEY,
137    vendor  TEXT
138);
139
140CREATE TABLE ostype (
141    pk    INTEGER NOT NULL PRIMARY KEY,
142    type  TEXT
143);
144
145CREATE TABLE portused (
146    pk             INTEGER NOT NULL PRIMARY KEY,
147    portid         INTEGER,
148    fk_port_state  INTEGER NOT NULL CONSTRAINT fk_port_state
149                      REFERENCES port_state(pk),
150    fk_protocol    INTEGER NOT NULL CONSTRAINT fk_protocol
151                      REFERENCES protocol(pk),
152    fk_host        INTEGER NOT NULL CONSTRAINT fk_host
153                      REFERENCES host(pk)
154);
155
156-- end OS Detection
157
158
159CREATE TABLE host_state (
160    pk     INTEGER NOT NULL PRIMARY KEY,
161    state  TEXT CHECK (state IN ('up', 'down', 'unknown', 'skipped'))
162);
163
164CREATE TABLE address (
165    pk         INTEGER NOT NULL PRIMARY KEY,
166    address    TEXT,
167    type       TEXT CHECK (type IN ('ipv4', 'ipv6', 'mac')),
168    fk_vendor  INTEGER NOT NULL CONSTRAINT fk_vendor
169                  REFERENCES vendor(pk)
170);
171
172CREATE TABLE vendor (
173    pk    INTEGER NOT NULL PRIMARY KEY,
174    name  TEXT
175);
176
177CREATE TABLE hostname (
178    pk    INTEGER NOT NULL PRIMARY KEY,
179    type  TEXT, -- CHECK (type = 'PTR'),
180    name  TEXT
181);
182
183CREATE TABLE _host_hostname (
184    pk           INTEGER NOT NULL PRIMARY KEY,
185    fk_host      INTEGER NOT NULL CONSTRAINT fk_host
186                    REFERENCES host(pk),
187    fk_hostname  INTEGER NOT NULL CONSTRAINT fk_hostname
188                    REFERENCES hostname(pk)
189);
190
191CREATE TABLE _host_address (
192    pk          INTEGER NOT NULL PRIMARY KEY,
193    fk_host     INTEGER NOT NULL CONSTRAINT fk_host
194                   REFERENCES host(pk),
195    fk_address  INTEGER NOT NULL CONSTRAINT fk_address
196                   REFERENCES address(pk)
197);
198
199CREATE TABLE _host_port (
200    pk       INTEGER NOT NULL PRIMARY KEY,
201    fk_host  INTEGER NOT NULL CONSTRAINT fk_host
202                REFERENCES host(pk),
203    fk_port  INTEGER NOT NULL CONSTRAINT fk_port
204                REFERENCES port(pk)
205);
206
207
208-------------------
209-- Ports
210-------------------
211
212CREATE TABLE port (
213    pk               INTEGER NOT NULL PRIMARY KEY,
214    portid           INTEGER,
215    fk_service_info  INTEGER NOT NULL CONSTRAINT fk_service
216                        REFERENCES service_info(pk),
217    fk_protocol      INTEGER NOT NULL CONSTRAINT fk_protocol
218                        REFERENCES protocol(pk),
219    fk_port_state    INTEGER NOT NULL CONSTRAINT fk_port_state
220                        REFERENCES port_state(pk)
221);
222
223CREATE TABLE extraports (
224    pk             INTEGER NOT NULL PRIMARY KEY,
225    count          INTEGER,
226    fk_host        INTEGER NOT NULL CONSTRAINT fk_host
227                      REFERENCES host(pk),
228    fk_port_state  INTEGER NOT NULL CONSTRAINT fk_port_state
229                      REFERENCES port_state(pk)
230);
231
232-- Protocol could be in a common place maybe
233CREATE TABLE protocol (
234    pk    INTEGER NOT NULL PRIMARY KEY,
235    name  TEXT --CHECK (name IN ('ip', 'tcp', 'udp'))
236);
237
238CREATE TABLE service_info (
239    pk               INTEGER NOT NULL PRIMARY KEY,
240    product          TEXT,
241    version          TEXT,
242    extrainfo        TEXT,
243    method           TEXT, --CHECK (method IN ('table', 'detection', 'probed')),
244    conf             INTEGER,
245    fk_ostype        INTEGER CONSTRAINT fk_ostype
246                        REFERENCES ostype(pk),
247    fk_service_name  INTEGER NOT NULL CONSTRAINT fk_service_name
248                        REFERENCES service_name(pk)
249);
250
251CREATE TABLE service_name (
252    pk    INTEGER NOT NULL PRIMARY KEY,
253    name  TEXT
254);
255
256CREATE TABLE port_state (
257    pk     INTEGER NOT NULL PRIMARY KEY,
258    state  TEXT
259);
260
261
262-------------------
263-- Inventory
264-------------------
265
266CREATE TABLE inventory (
267    pk    INTEGER NOT NULL PRIMARY KEY,
268    name  TEXT
269);
270
271CREATE TABLE inventory_change_category (
272    pk    INTEGER NOT NULL PRIMARY KEY,
273    name  TEXT
274);
275
276CREATE TABLE _inventory_scan (
277    pk            INTEGER NOT NULL PRIMARY KEY,
278    fk_scan       INTEGER NOT NULL CONSTRAINT fk_scan
279                     REFERENCES scan(pk),
280    fk_inventory  INTEGER NOT NULL CONSTRAINT fk_inventory
281                     REFERENCES inventory(pk)
282);
283
284CREATE TABLE _inventory_changes (
285    pk                 INTEGER NOT NULL PRIMARY KEY,
286    old_hostid         INTEGER NOT NULL,
287    new_hostid         INTEGER NOT NULL,
288    entry_date         TIMESTAMP,
289    short_description  TEXT,
290    fk_inventory       INTEGER NOT NULL CONSTRAINT fk_inventory
291                          REFERENCES inventory(pk),
292    fk_category        INTEGER NOT NULL CONSTRAINT fk_category
293                          REFERENCES inventory_change_category(pk),
294    fk_address         INTEGER NOT NULL CONSTRAINT fk_address
295                          REFERENCES address(pk)
296);
297
298
299-------------------
300-- Traceroute
301-------------------
302
303CREATE TABLE trace (
304    pk           INTEGER NOT NULL PRIMARY KEY,
305    port         INTEGER,
306    fk_protocol  INTEGER NOT NULL CONSTRAINT fk_protocol
307                    REFERENCES protocol(pk)
308);
309
310CREATE TABLE hop (
311    pk        INTEGER NOT NULL PRIMARY KEY,
312    ttl       INTEGER,
313    ipaddr    TEXT,
314    host      TEXT,
315    fk_trace  INTEGER NOT NULL CONSTRAINT fk_trace
316                 REFERENCES trace(pk)
317);
318
Note: See TracBrowser for help on using the browser.