thm 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.1ST +38 -0
- data/README.md +59 -0
- data/bin/thm-consumer +89 -0
- data/bin/thm-pcap +67 -0
- data/bin/thm-producer +102 -0
- data/bin/thm-session +319 -0
- data/bin/thm-useradmin +75 -0
- data/config.rb +30 -0
- data/datalayerlight.rb +143 -0
- data/js/JSXTransformer.js +15919 -0
- data/js/chartkick.js +829 -0
- data/js/files/authenticate.jsx +30 -0
- data/js/jquery.min.js +5 -0
- data/js/marked.min.js +6 -0
- data/js/react.js +19602 -0
- data/lib/thm.rb +49 -0
- data/lib/thm/consumer.rb +228 -0
- data/lib/thm/dataservices.rb +73 -0
- data/lib/thm/localmachine.rb +170 -0
- data/lib/thm/producer.rb +198 -0
- data/lib/thm/version.rb +14 -0
- data/service_definitions.csv +6366 -0
- data/sql/geoipdata-monetdb.sql +111 -0
- data/sql/threatmonitor-monetdb.sql +174 -0
- data/sql/threatmonitor-mysql.sql +156 -0
- data/stylesheets/screen.css +150 -0
- data/thm-authentication.rb +65 -0
- data/thm-authorization.rb +173 -0
- data/thm-privileges.rb +97 -0
- data/views/authenticate.slim +18 -0
- data/views/dashboard.erb +69 -0
- data/views/logout.slim +10 -0
- metadata +237 -0
@@ -0,0 +1,111 @@
|
|
1
|
+
-- http://dev.maxmind.com/geoip/geoip2/geolite2/
|
2
|
+
|
3
|
+
-- id INT GENERATED ALWAYS AS
|
4
|
+
-- IDENTITY (
|
5
|
+
-- START WITH 1 INCREMENT BY 1
|
6
|
+
-- NO MINVALUE NO MAXVALUE
|
7
|
+
-- CACHE 2 CYCLE
|
8
|
+
-- ) primary key,
|
9
|
+
|
10
|
+
DROP TABLE "threatmonitor".geoipdata_ipv4blocks_city;
|
11
|
+
CREATE TABLE "threatmonitor".geoipdata_ipv4blocks_city (
|
12
|
+
network varchar(18),
|
13
|
+
geoname_id char(10),
|
14
|
+
registered_country_geoname_id char(30),
|
15
|
+
represented_country_geoname_id char(30),
|
16
|
+
is_anonymous_proxy char(30),
|
17
|
+
is_satellite_provider char(30),
|
18
|
+
postal_code char(30),
|
19
|
+
latitude char(10),
|
20
|
+
longitude char(10)
|
21
|
+
);
|
22
|
+
|
23
|
+
CREATE INDEX cindex_ipv4_network ON "threatmonitor".geoipdata_ipv4blocks_city(network);
|
24
|
+
CREATE INDEX cindex_ipv4_geoname_id ON "threatmonitor".geoipdata_ipv4blocks_city(geoname_id);
|
25
|
+
COPY 2519918 OFFSET 2 RECORDS INTO "threatmonitor".geoipdata_ipv4blocks_city FROM '/data2/MaxMind/GeoLite2-City-CSV_20150602/GeoLite2-City-Blocks-IPv4.csv' USING DELIMITERS ',', '\n', '';
|
26
|
+
|
27
|
+
|
28
|
+
DROP TABLE "threatmonitor".geoipdata_locations_city;
|
29
|
+
CREATE TABLE "threatmonitor".geoipdata_locations_city (
|
30
|
+
geoname_id char(10),
|
31
|
+
locale_code char(2),
|
32
|
+
continent_code char(2),
|
33
|
+
continent_name char(15),
|
34
|
+
country_iso_code char(2),
|
35
|
+
country_name char(50),
|
36
|
+
subdivision_1_iso_code char(70),
|
37
|
+
subdivision_1_name char(50),
|
38
|
+
subdivision_2_iso_code char(70),
|
39
|
+
subdivision_2_name char(50),
|
40
|
+
city_name char(70),
|
41
|
+
metro_code char(30),
|
42
|
+
time_zone char(30)
|
43
|
+
);
|
44
|
+
|
45
|
+
CREATE INDEX cindex_country_geoname_id ON "threatmonitor".geoipdata_locations_city(geoname_id);
|
46
|
+
COPY 80006 OFFSET 2 RECORDS INTO "threatmonitor".geoipdata_locations_city FROM '/data2/MaxMind/GeoLite2-City-CSV_20150602/GeoLite2-City-Locations-en.csv' USING DELIMITERS ',', '\n', '';
|
47
|
+
|
48
|
+
|
49
|
+
DROP TABLE "threatmonitor".geoipdata_ipv4blocks_country;
|
50
|
+
CREATE TABLE "threatmonitor".geoipdata_ipv4blocks_country (
|
51
|
+
network varchar(18),
|
52
|
+
geoname_id char(10),
|
53
|
+
registered_country_geoname_id char(30),
|
54
|
+
represented_country_geoname_id char(30),
|
55
|
+
is_anonymous_proxy char(30),
|
56
|
+
is_satellite_provider char(30)
|
57
|
+
);
|
58
|
+
|
59
|
+
CREATE INDEX index_ipv4_network ON "threatmonitor".geoipdata_ipv4blocks_country(network);
|
60
|
+
CREATE INDEX index_ipv4_geoname_id ON "threatmonitor".geoipdata_ipv4blocks_country(geoname_id);
|
61
|
+
COPY 169357 OFFSET 2 RECORDS INTO "threatmonitor".geoipdata_ipv4blocks_country FROM '/data2/MaxMind/GeoLite2-Country-CSV_20150602/GeoLite2-Country-Blocks-IPv4.csv' USING DELIMITERS ',', '\n', '';
|
62
|
+
|
63
|
+
DROP TABLE "threatmonitor".geoipdata_locations_country;
|
64
|
+
CREATE TABLE "threatmonitor".geoipdata_locations_country (
|
65
|
+
geoname_id char(10),
|
66
|
+
locale_code char(2),
|
67
|
+
continent_code char(2),
|
68
|
+
continent_name char(15),
|
69
|
+
country_iso_code char(2),
|
70
|
+
country_name char(50)
|
71
|
+
-- FOREIGN KEY (geoname_id) REFERENCES "geoipdata".geoipdata_ipv4blocks_country (index_geoname_id)
|
72
|
+
);
|
73
|
+
|
74
|
+
CREATE INDEX index_country_geoname_id ON "threatmonitor".geoipdata_locations_country(geoname_id);
|
75
|
+
COPY 250 OFFSET 2 RECORDS INTO "threatmonitor".geoipdata_locations_country FROM '/data2/MaxMind/GeoLite2-Country-CSV_20150602/GeoLite2-Country-Locations-en.csv' USING DELIMITERS ',', '\n', '';
|
76
|
+
|
77
|
+
plan SELECT continent_name, country_name
|
78
|
+
FROM "threatmonitor".geoipdata_ipv4blocks_country a
|
79
|
+
JOIN "threatmonitor".geoipdata_locations_country b
|
80
|
+
ON (a.geoname_id = b.geoname_id)
|
81
|
+
JOIN "threatmonitor".ippacket c
|
82
|
+
ON (a.network = LEFT(c.ip_dst, 7))
|
83
|
+
WHERE network LIKE '216.58.208.%'
|
84
|
+
GROUP BY b.continent_name, b.country_name
|
85
|
+
LIMIT 10;
|
86
|
+
|
87
|
+
SELECT ip_dst, network, continent_name, country_name
|
88
|
+
FROM "threatmonitor".geoipdata_ipv4blocks_country a
|
89
|
+
JOIN "threatmonitor".geoipdata_locations_country b
|
90
|
+
ON (a.geoname_id = b.geoname_id)
|
91
|
+
JOIN "threatmonitor".ippacket c
|
92
|
+
ON (a.network LIKE LEFT(c.ip_dst, 5))
|
93
|
+
WHERE network LIKE '216.58.%'
|
94
|
+
GROUP BY b.continent_name, b.country_name, a.network, c.ip_dst
|
95
|
+
LIMIT 10;
|
96
|
+
|
97
|
+
-- SELECT network FROM "threatmonitor".geoipdata_ipv4blocks_country a JOIN WHERE network LIKE '23.%' LIMIT 5;
|
98
|
+
|
99
|
+
-- PLAN SELECT LEFT(network, 8) as net, locale_code, continent_code, continent_name, country_name, country_iso_code
|
100
|
+
-- FROM "threatmonitor".geoipdata_ipv4blocks_country a
|
101
|
+
-- JOIN "threatmonitor".geoipdata_locations_country b
|
102
|
+
-- ON (a.geoname_id = b.geoname_id)
|
103
|
+
-- JOIN "threatmonitor".wifi_ippacket c
|
104
|
+
-- ON (c.ip_dst LIKE LEFT(network, 8))
|
105
|
+
-- JOIN "threatmonitor".wifi_tcppacket d
|
106
|
+
-- ON (c.guid = d.guid)
|
107
|
+
-- WHERE network LIKE '23.%'
|
108
|
+
-- GROUP BY a.network, b.locale_code, b.continent_code, b.continent_name, b.country_name, b.country_iso_code
|
109
|
+
-- LIMIT 100;
|
110
|
+
|
111
|
+
|
@@ -0,0 +1,174 @@
|
|
1
|
+
|
2
|
+
CREATE USER "threatmonitor" WITH PASSWORD 'dk3rbi9l' NAME 'Threatmonitor' SCHEMA "sys";
|
3
|
+
CREATE SCHEMA "threatmonitor" AUTHORIZATION "threatmonitor";
|
4
|
+
ALTER USER "threatmonitor" SET SCHEMA "threatmonitor";
|
5
|
+
|
6
|
+
DROP TABLE "threatmonitor".ippacket;
|
7
|
+
CREATE TABLE "threatmonitor".ippacket (
|
8
|
+
"guid" char(36) not null primary key,
|
9
|
+
"recv_date" string,
|
10
|
+
"ip_df" varchar(5),
|
11
|
+
"ip_dst" varchar(15),
|
12
|
+
"ip_hlen" int not null,
|
13
|
+
"ip_id" int not null,
|
14
|
+
"ip_len" int not null,
|
15
|
+
"ip_mf" varchar(5),
|
16
|
+
"ip_off" int not null,
|
17
|
+
"ip_proto" int not null,
|
18
|
+
"ip_src" varchar(15),
|
19
|
+
"ip_sum" char(10),
|
20
|
+
"ip_tos" int not null,
|
21
|
+
"ip_ttl" int not null,
|
22
|
+
"ip_ver" int not null
|
23
|
+
);
|
24
|
+
CREATE INDEX index_guid_defaultip ON "threatmonitor".ippacket(guid);
|
25
|
+
CREATE INDEX index_ip_dst_defaultip ON "threatmonitor".ippacket(ip_dst);
|
26
|
+
CREATE INDEX index_ip_src_defaultip ON "threatmonitor".ippacket(ip_src);
|
27
|
+
|
28
|
+
DROP TABLE "threatmonitor".tcppacket;
|
29
|
+
CREATE TABLE "threatmonitor".tcppacket (
|
30
|
+
"guid" char(36) NOT NULL primary key,
|
31
|
+
"recv_date" string,
|
32
|
+
"tcp_data_len" int DEFAULT NULL,
|
33
|
+
"tcp_dport" int DEFAULT NULL,
|
34
|
+
"tcp_ack" char(1) DEFAULT NULL,
|
35
|
+
"tcp_fin" char(1) DEFAULT NULL,
|
36
|
+
"tcp_syn" char(1)DEFAULT NULL,
|
37
|
+
"tcp_rst" char(1) DEFAULT NULL,
|
38
|
+
"tcp_psh" char(1) DEFAULT NULL,
|
39
|
+
"tcp_urg" char(1) DEFAULT NULL,
|
40
|
+
"tcp_off" int DEFAULT NULL,
|
41
|
+
"tcp_hlen" int DEFAULT NULL,
|
42
|
+
"tcp_seq" bigint DEFAULT NULL,
|
43
|
+
"tcp_sum" char(10) DEFAULT NULL,
|
44
|
+
"tcp_sport" int DEFAULT NULL,
|
45
|
+
"tcp_urp" char(10) DEFAULT NULL,
|
46
|
+
"tcp_win" int DEFAULT NULL
|
47
|
+
);
|
48
|
+
CREATE INDEX index_guid_defaulttcp ON "threatmonitor".tcppacket(guid);
|
49
|
+
CREATE INDEX index_tcp_dport_defaulttcp ON "threatmonitor".tcppacket(tcp_dport);
|
50
|
+
CREATE INDEX index_tcp_sport_defaulttcp ON "threatmonitor".tcppacket(tcp_sport);
|
51
|
+
|
52
|
+
|
53
|
+
DROP TABLE "threatmonitor".udppacket;
|
54
|
+
CREATE TABLE "threatmonitor".udppacket (
|
55
|
+
"guid" char(36) NOT NULL primary key,
|
56
|
+
"recv_date" string,
|
57
|
+
"udp_dport" int,
|
58
|
+
"udp_len" int,
|
59
|
+
"udp_sum" char(10) DEFAULT NULL,
|
60
|
+
"udp_sport" int DEFAULT NULL
|
61
|
+
);
|
62
|
+
CREATE INDEX index_guid_defaultudp ON "threatmonitor".udppacket(guid);
|
63
|
+
CREATE INDEX index_udp_dport_defaultudp ON "threatmonitor".udppacket(udp_dport);
|
64
|
+
CREATE INDEX index_udp_sport_defaultudp ON "threatmonitor".udppacket(udp_sport);
|
65
|
+
|
66
|
+
# Wifi
|
67
|
+
DROP TABLE "threatmonitor".wifi_ippacket;
|
68
|
+
CREATE TABLE "threatmonitor".wifi_ippacket (
|
69
|
+
"guid" char(36) not null primary key,
|
70
|
+
"recv_date" string,
|
71
|
+
"ip_df" varchar(5),
|
72
|
+
"ip_dst" varchar(15),
|
73
|
+
"ip_hlen" int not null,
|
74
|
+
"ip_id" int not null,
|
75
|
+
"ip_len" int not null,
|
76
|
+
"ip_mf" varchar(5),
|
77
|
+
"ip_off" int not null,
|
78
|
+
"ip_proto" int not null,
|
79
|
+
"ip_src" varchar(15),
|
80
|
+
"ip_sum" char(10),
|
81
|
+
"ip_tos" int not null,
|
82
|
+
"ip_ttl" int not null,
|
83
|
+
"ip_ver" int not null
|
84
|
+
);
|
85
|
+
|
86
|
+
CREATE INDEX index_guid_wifiip ON "threatmonitor".wifi_ippacket(guid);
|
87
|
+
CREATE INDEX index_ip_dst_wifiip ON "threatmonitor".wifi_ippacket(ip_dst);
|
88
|
+
CREATE INDEX index_ip_src_wifiip ON "threatmonitor".wifi_ippacket(ip_src);
|
89
|
+
|
90
|
+
DROP TABLE "threatmonitor".wifi_tcppacket;
|
91
|
+
CREATE TABLE "threatmonitor".wifi_tcppacket (
|
92
|
+
"guid" char(36) NOT NULL primary key,
|
93
|
+
"recv_date" string,
|
94
|
+
"tcp_data_len" int DEFAULT NULL,
|
95
|
+
"tcp_dport" int DEFAULT NULL,
|
96
|
+
"tcp_ack" char(1) DEFAULT NULL,
|
97
|
+
"tcp_fin" char(1) DEFAULT NULL,
|
98
|
+
"tcp_syn" char(1)DEFAULT NULL,
|
99
|
+
"tcp_rst" char(1) DEFAULT NULL,
|
100
|
+
"tcp_psh" char(1) DEFAULT NULL,
|
101
|
+
"tcp_urg" char(1) DEFAULT NULL,
|
102
|
+
"tcp_off" int DEFAULT NULL,
|
103
|
+
"tcp_hlen" int DEFAULT NULL,
|
104
|
+
"tcp_seq" bigint DEFAULT NULL,
|
105
|
+
"tcp_sum" char(10) DEFAULT NULL,
|
106
|
+
"tcp_sport" int DEFAULT NULL,
|
107
|
+
"tcp_urp" char(10) DEFAULT NULL,
|
108
|
+
"tcp_win" int DEFAULT NULL
|
109
|
+
);
|
110
|
+
CREATE INDEX index_guid_wifitcp ON "threatmonitor".wifi_tcppacket(guid);
|
111
|
+
CREATE INDEX index_tcp_dport_wifitcp ON "threatmonitor".wifi_tcppacket(tcp_dport);
|
112
|
+
CREATE INDEX index_tcp_sport_wifitcp ON "threatmonitor".wifi_tcppacket(tcp_sport);
|
113
|
+
|
114
|
+
|
115
|
+
DROP TABLE "threatmonitor".wifi_udppacket;
|
116
|
+
CREATE TABLE "threatmonitor".wifi_udppacket (
|
117
|
+
"guid" char(36) NOT NULL primary key,
|
118
|
+
"recv_date" string,
|
119
|
+
"udp_dport" int,
|
120
|
+
"udp_len" int,
|
121
|
+
"udp_sum" char(10) DEFAULT NULL,
|
122
|
+
"udp_sport" int DEFAULT NULL
|
123
|
+
);
|
124
|
+
|
125
|
+
CREATE INDEX index_guid_wifiudp ON "threatmonitor".wifi_udppacket(guid);
|
126
|
+
CREATE INDEX index_udp_dport_wifiudp ON "threatmonitor".wifi_udppacket(udp_dport);
|
127
|
+
CREATE INDEX index_udp_sport_wifiudp ON "threatmonitor".wifi_udppacket(udp_sport);
|
128
|
+
|
129
|
+
CREATE TABLE "threatmonitor".groups (
|
130
|
+
gid INT GENERATED ALWAYS AS
|
131
|
+
IDENTITY (
|
132
|
+
START WITH 100 INCREMENT BY 1
|
133
|
+
NO MINVALUE NO MAXVALUE
|
134
|
+
CACHE 2 CYCLE
|
135
|
+
) primary key,
|
136
|
+
groupname varchar(100) not null
|
137
|
+
);
|
138
|
+
|
139
|
+
CREATE TABLE "threatmonitor".users (
|
140
|
+
uid INT GENERATED ALWAYS AS
|
141
|
+
IDENTITY (
|
142
|
+
START WITH 100 INCREMENT BY 1
|
143
|
+
NO MINVALUE NO MAXVALUE
|
144
|
+
CACHE 2 CYCLE
|
145
|
+
) primary key,
|
146
|
+
username varchar(100) not null,
|
147
|
+
password varchar(512),
|
148
|
+
gid int not null,
|
149
|
+
FOREIGN KEY (gid) REFERENCES "threatmonitor".groups (gid)
|
150
|
+
);
|
151
|
+
|
152
|
+
CREATE TABLE "threatmonitor".service_definitions (
|
153
|
+
protocol char(5),
|
154
|
+
num int not null,
|
155
|
+
description char(30)
|
156
|
+
);
|
157
|
+
|
158
|
+
# Query not working due lack of aggregate function
|
159
|
+
|
160
|
+
#select "ip_dst", "tcp_sport", "tcp_dport", count("ip_dst") as num from tcppacket sel LEFT JOIN ippacket sel2 ON (sel2.guid = sel.guid) GROUP by "ip_dst";
|
161
|
+
|
162
|
+
# Service / Ports / IP
|
163
|
+
select * from wifi_ippacket a JOIN wifi_udppacket b on (a.guid = b.guid) JOIN service_definitions s on (s.num = b.udp_dport) where udp_dport > 0 and udp_dport < 10000 and s.protocol = 'UDP' group by b.udp_dport, a.ip_dst, s.description;
|
164
|
+
|
165
|
+
#COPY INTO threatmonitor.ippacket from '/tmp/ippacket.csv' USING DELIMITERS '|','\n', '"';
|
166
|
+
#COPY INTO threatmonitor.tcppacket from '/tmp/tcppacket.csv' USING DELIMITERS '|','\n', '"';
|
167
|
+
#COPY INTO threatmonitor.udppacket from '/tmp/udppacket.csv' USING DELIMITERS '|','\n', '"';
|
168
|
+
|
169
|
+
COPY INTO "threatmonitor".service_definitions FROM '/home/brian/Projects/ThreatmonitorDashboard/tcpudpportslist.csv' DELIMITERS ',';
|
170
|
+
|
171
|
+
#INSERT INTO "threatmonitor".wifi_tcppacket
|
172
|
+
#(guid, recv_date, tcp_data_len, tcp_dport, tcp_ack, tcp_fin, tcp_syn, tcp_rst, tcp_psh, tcp_urg, tcp_off, tcp_hlen, tcp_seq, tcp_sum, tcp_sport, tcp_urp, tcp_win)
|
173
|
+
#VALUES ('a6cd6b9f-53cf-a1db-f4f5-644e118394f0','2015-06-20 14:46:33 +0100', '1448','51213','N','N','N','N','N','N','8', '8', '3248172952', '55697', '80', '0', '239');
|
174
|
+
|
@@ -0,0 +1,156 @@
|
|
1
|
+
|
2
|
+
DROP TABLE IF EXISTS `ippacket`;
|
3
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
4
|
+
/*!40101 SET character_set_client = utf8 */;
|
5
|
+
CREATE TABLE `ippacket` (
|
6
|
+
"guid" char(36) not null primary key,
|
7
|
+
"recv_date" string,
|
8
|
+
"ip_df" varchar(5),
|
9
|
+
"ip_dst" varchar(15),
|
10
|
+
"ip_hlen" int not null,
|
11
|
+
"ip_id" int not null,
|
12
|
+
"ip_len" int not null,
|
13
|
+
"ip_mf" varchar(5),
|
14
|
+
"ip_off" int not null,
|
15
|
+
"ip_proto" int not null,
|
16
|
+
"ip_src" varchar(15),
|
17
|
+
"ip_sum" char(10),
|
18
|
+
"ip_tos" int not null,
|
19
|
+
"ip_ttl" int not null,
|
20
|
+
"ip_ver" int not null,
|
21
|
+
PRIMARY KEY (`guid`)
|
22
|
+
) ENGINE=INNODB DEFAULT CHARSET=latin1;
|
23
|
+
|
24
|
+
DROP TABLE IF EXISTS `tcppacket`;
|
25
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
26
|
+
/*!40101 SET character_set_client = utf8 */;
|
27
|
+
CREATE TABLE `tcppacket` (
|
28
|
+
`guid` char(36) NOT NULL DEFAULT '',
|
29
|
+
`recv_date` date DEFAULT NULL,
|
30
|
+
`tcp_data` blob,
|
31
|
+
`tcp_data_len` int(10) DEFAULT NULL,
|
32
|
+
`tcp_dport` int(5) DEFAULT NULL,
|
33
|
+
`tcp_ack` enum('Y','N') DEFAULT NULL,
|
34
|
+
`tcp_fin` enum('Y','N') DEFAULT NULL,
|
35
|
+
`tcp_syn` enum('Y','N') DEFAULT NULL,
|
36
|
+
`tcp_rst` enum('Y','N') DEFAULT NULL,
|
37
|
+
`tcp_psh` enum('Y','N') DEFAULT NULL,
|
38
|
+
`tcp_urg` enum('Y','N') DEFAULT NULL,
|
39
|
+
`tcp_off` int(10) DEFAULT NULL,
|
40
|
+
`tcp_hlen` int(10) DEFAULT NULL,
|
41
|
+
`tcp_seq` bigint(10) DEFAULT NULL,
|
42
|
+
`tcp_sum` char(10) DEFAULT NULL,
|
43
|
+
`tcp_sport` int(5) DEFAULT NULL,
|
44
|
+
`tcp_urp` char(10) DEFAULT NULL,
|
45
|
+
`tcp_win` int(10) DEFAULT NULL,
|
46
|
+
PRIMARY KEY (`guid`)
|
47
|
+
) ENGINE=INNODB DEFAULT CHARSET=latin1;
|
48
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
49
|
+
|
50
|
+
--
|
51
|
+
-- Table structure for table `udppacket`
|
52
|
+
--
|
53
|
+
|
54
|
+
DROP TABLE IF EXISTS `udppacket`;
|
55
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
56
|
+
/*!40101 SET character_set_client = utf8 */;
|
57
|
+
CREATE TABLE `udppacket` (
|
58
|
+
`guid` char(36) NOT NULL DEFAULT '',
|
59
|
+
`recv_date` date DEFAULT NULL,
|
60
|
+
`udp_data` blob,
|
61
|
+
`udp_dport` int(5) DEFAULT NULL,
|
62
|
+
`udp_len` int(10) DEFAULT NULL,
|
63
|
+
`udp_sum` char(10) DEFAULT NULL,
|
64
|
+
`udp_sport` int(5) DEFAULT NULL,
|
65
|
+
PRIMARY KEY (`guid`)
|
66
|
+
) ENGINE=INNODB DEFAULT CHARSET=latin1;
|
67
|
+
|
68
|
+
# Wifi
|
69
|
+
|
70
|
+
DROP TABLE IF EXISTS `wifi_ippacket`;
|
71
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
72
|
+
/*!40101 SET character_set_client = utf8 */;
|
73
|
+
CREATE TABLE `wifi_ippacket` (
|
74
|
+
`guid` char(36) not null default '',
|
75
|
+
`recv_date` date DEFAULT NULL,
|
76
|
+
`ip_df` varchar(5),
|
77
|
+
`ip_dst` varchar(15),
|
78
|
+
`ip_hlen` int not null,
|
79
|
+
`ip_id` int not null,
|
80
|
+
`ip_len` int not null,
|
81
|
+
`ip_mf` varchar(5),
|
82
|
+
`ip_off` int not null,
|
83
|
+
`ip_proto` int not null,
|
84
|
+
`ip_src` varchar(15),
|
85
|
+
`ip_sum` char(10),
|
86
|
+
`ip_tos` int not null,
|
87
|
+
`ip_ttl` int not null,
|
88
|
+
`ip_ver` int not null,
|
89
|
+
PRIMARY KEY (`guid`)
|
90
|
+
) ENGINE=INNODB DEFAULT CHARSET=latin1;
|
91
|
+
|
92
|
+
DROP TABLE IF EXISTS `wifi_tcppacket`;
|
93
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
94
|
+
/*!40101 SET character_set_client = utf8 */;
|
95
|
+
CREATE TABLE `wifi_tcppacket` (
|
96
|
+
`guid` char(36) NOT NULL DEFAULT '',
|
97
|
+
`recv_date` date DEFAULT NULL,
|
98
|
+
`tcp_data` blob,
|
99
|
+
`tcp_data_len` int(10) DEFAULT NULL,
|
100
|
+
`tcp_dport` int(5) DEFAULT NULL,
|
101
|
+
`tcp_ack` enum('Y','N') DEFAULT NULL,
|
102
|
+
`tcp_fin` enum('Y','N') DEFAULT NULL,
|
103
|
+
`tcp_syn` enum('Y','N') DEFAULT NULL,
|
104
|
+
`tcp_rst` enum('Y','N') DEFAULT NULL,
|
105
|
+
`tcp_psh` enum('Y','N') DEFAULT NULL,
|
106
|
+
`tcp_urg` enum('Y','N') DEFAULT NULL,
|
107
|
+
`tcp_off` int(10) DEFAULT NULL,
|
108
|
+
`tcp_hlen` int(10) DEFAULT NULL,
|
109
|
+
`tcp_seq` bigint(10) DEFAULT NULL,
|
110
|
+
`tcp_sum` char(10) DEFAULT NULL,
|
111
|
+
`tcp_sport` int(5) DEFAULT NULL,
|
112
|
+
`tcp_urp` char(10) DEFAULT NULL,
|
113
|
+
`tcp_win` int(10) DEFAULT NULL,
|
114
|
+
PRIMARY KEY (`guid`)
|
115
|
+
) ENGINE=INNODB DEFAULT CHARSET=latin1;
|
116
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
117
|
+
|
118
|
+
--
|
119
|
+
-- Table structure for table `udppacket`
|
120
|
+
--
|
121
|
+
|
122
|
+
DROP TABLE IF EXISTS `wifi_udppacket`;
|
123
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
124
|
+
/*!40101 SET character_set_client = utf8 */;
|
125
|
+
CREATE TABLE `wifi_udppacket` (
|
126
|
+
`guid` char(36) NOT NULL DEFAULT '',
|
127
|
+
`recv_date` date DEFAULT NULL,
|
128
|
+
`udp_data` blob,
|
129
|
+
`udp_dport` int(5) DEFAULT NULL,
|
130
|
+
`udp_len` int(10) DEFAULT NULL,
|
131
|
+
`udp_sum` char(10) DEFAULT NULL,
|
132
|
+
`udp_sport` int(5) DEFAULT NULL,
|
133
|
+
PRIMARY KEY (`guid`)
|
134
|
+
) ENGINE=INNODB DEFAULT CHARSET=latin1;
|
135
|
+
|
136
|
+
|
137
|
+
CREATE TABLE groups (
|
138
|
+
gid INT NOT NULL AUTO_INCREMENT,
|
139
|
+
groupname VARCHAR(100) NOT NULL,
|
140
|
+
PRIMARY KEY (gid)
|
141
|
+
);
|
142
|
+
|
143
|
+
CREATE TABLE users (
|
144
|
+
uid INT NOT NULL AUTO_INCREMENT,
|
145
|
+
username VARCHAR(100) NOT NULL,
|
146
|
+
password VARCHAR(512),
|
147
|
+
gid int not null,
|
148
|
+
FOREIGN KEY (gid) REFERENCES groups (gid),
|
149
|
+
PRIMARY KEY (uid)
|
150
|
+
);
|
151
|
+
|
152
|
+
-- CHANGE MASTER TO MASTER_HOST=’dev-vnc-01′,
|
153
|
+
-- MASTER_PORT=3306,
|
154
|
+
-- MASTER_USER=’orinoco’,
|
155
|
+
-- MASTER_PASSWORD=’wimbledon';
|
156
|
+
|
@@ -0,0 +1,150 @@
|
|
1
|
+
body {
|
2
|
+
background-color: black;
|
3
|
+
font-family: "Georgia", sans-serif;
|
4
|
+
font-size: 16px;
|
5
|
+
line-height: 1.6em;
|
6
|
+
#padding: 1.6em 0 0 0;
|
7
|
+
color: #333;
|
8
|
+
}
|
9
|
+
|
10
|
+
h1, h2, h3, h4, h5, h6 {
|
11
|
+
color: #444;
|
12
|
+
}
|
13
|
+
|
14
|
+
h1 {
|
15
|
+
font-family: sans-serif;
|
16
|
+
font-weight: normal;
|
17
|
+
font-size: 4em;
|
18
|
+
line-height: 0.8em;
|
19
|
+
letter-spacing: -0.1ex;
|
20
|
+
margin: 5px;
|
21
|
+
}
|
22
|
+
|
23
|
+
li {
|
24
|
+
padding: 0;
|
25
|
+
margin: 0;
|
26
|
+
list-style-type: square;
|
27
|
+
}
|
28
|
+
|
29
|
+
a {
|
30
|
+
color: #0336B4;
|
31
|
+
#font-weight: small;
|
32
|
+
font-style: bold;
|
33
|
+
font-size: 90%;
|
34
|
+
}
|
35
|
+
|
36
|
+
blockquote {
|
37
|
+
font-size: 90%;
|
38
|
+
font-style: italic;
|
39
|
+
border-left: 1px solid #111;
|
40
|
+
padding-left: 1em;
|
41
|
+
}
|
42
|
+
|
43
|
+
.caps {
|
44
|
+
font-size: 80%;
|
45
|
+
}
|
46
|
+
|
47
|
+
#main {
|
48
|
+
width: 45em;
|
49
|
+
padding: 0;
|
50
|
+
margin: 0 auto;
|
51
|
+
}
|
52
|
+
|
53
|
+
.coda {
|
54
|
+
text-align: right;
|
55
|
+
color: #77f;
|
56
|
+
font-size: smaller;
|
57
|
+
}
|
58
|
+
|
59
|
+
table {
|
60
|
+
font-size: 80%;
|
61
|
+
font-weight: bold;
|
62
|
+
line-height: 1.4em;
|
63
|
+
color: #0b6b44;
|
64
|
+
background-color: #FFFFFF;
|
65
|
+
#padding: 2px 10px 2px 10px;
|
66
|
+
#border-style: dashed;
|
67
|
+
}
|
68
|
+
|
69
|
+
th {
|
70
|
+
color: #fff;
|
71
|
+
background-color: #000
|
72
|
+
}
|
73
|
+
|
74
|
+
td {
|
75
|
+
padding: 2px 10px 2px 10px;
|
76
|
+
}
|
77
|
+
|
78
|
+
.success {
|
79
|
+
color: #0CC52B;
|
80
|
+
}
|
81
|
+
|
82
|
+
.failed {
|
83
|
+
color: #E90A1B;
|
84
|
+
}
|
85
|
+
|
86
|
+
.unknown {
|
87
|
+
color: #995000;
|
88
|
+
}
|
89
|
+
|
90
|
+
pre, code {
|
91
|
+
font-family: monospace;
|
92
|
+
font-size: 60%;
|
93
|
+
line-height: 1.4em;
|
94
|
+
color: black;
|
95
|
+
background-color: white;
|
96
|
+
padding: 2px 10px 2px 10px;
|
97
|
+
font-weight: lighter;
|
98
|
+
}
|
99
|
+
|
100
|
+
.comment { color: darkgray; font-style: italic; }
|
101
|
+
.keyword { color: darkyellow; font-weight: bold; }
|
102
|
+
.punct { color: black; font-weight: bold; }
|
103
|
+
.symbol { color: teal; }
|
104
|
+
.string { color: green; }
|
105
|
+
.ident { color: blue; }
|
106
|
+
.constant { color: darkblue; }
|
107
|
+
.regex { color: purple; }
|
108
|
+
.number { color: red; }
|
109
|
+
.expr { color: #227; }
|
110
|
+
|
111
|
+
#version {
|
112
|
+
float: right;
|
113
|
+
text-align: right;
|
114
|
+
font-family: sans-serif;
|
115
|
+
font-weight: normal;
|
116
|
+
background-color: #B3ABFF;
|
117
|
+
color: #141331;
|
118
|
+
padding: 15px 20px 10px 20px;
|
119
|
+
margin: 0 auto;
|
120
|
+
margin-top: 15px;
|
121
|
+
border: 3px solid #141331;
|
122
|
+
}
|
123
|
+
|
124
|
+
#version .numbers {
|
125
|
+
display: block;
|
126
|
+
font-size: 4em;
|
127
|
+
line-height: 0.8em;
|
128
|
+
letter-spacing: -0.1ex;
|
129
|
+
margin-bottom: 15px;
|
130
|
+
}
|
131
|
+
|
132
|
+
#version p {
|
133
|
+
text-decoration: none;
|
134
|
+
color: #141331;
|
135
|
+
background-color: #B3ABFF;
|
136
|
+
margin: 0;
|
137
|
+
padding: 0;
|
138
|
+
}
|
139
|
+
|
140
|
+
#version a {
|
141
|
+
text-decoration: none;
|
142
|
+
color: #141331;
|
143
|
+
background-color: #B3ABFF;
|
144
|
+
}
|
145
|
+
|
146
|
+
.clickable {
|
147
|
+
cursor: pointer;
|
148
|
+
cursor: hand;
|
149
|
+
}
|
150
|
+
|