1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
2021-07-16 Jerry Lundström
Release 2.0.0
This major release is a complete rewrite of drool to Lua using dnsjit!
This includes two commands:
- `drool replay`: replay DNS traffic from packet capture (PCAP) files
and send it to a specified server, with options such as to manipulate
the timing between packets, as well as loop packets infinitely or for
a set number of iterations.
- `drool respdiff`: replay DNS queries found in the PCAP, but only if
a correlating response is also found. The query, original response
and the received response is then stored into a LMDB database which
can then be used by respdiff by CZ.NIC (see https://gitlab.labs.nic.cz/knot/respdiff)
for analysis.
See `man drool`, `man drool reply` and `man drool respdiff` for more
information.
9357c54 RPM
dc27432 configure
5a60fd3 Bye Travis
21d950c Info, Travis
eb44217 Badges
5623d60 COPR
1b5bd66 COPR, spec
2033d26 Package
61264d2 Funding
c3eb323 (tag: v1.99.4) Copyright, v1.99.4
ff9dfd5 Timing Mode
fc55d2d (tag: v1.99.3) Respdiff fix
e432c91 (tag: v1.99.2) Respdiff, v1.99.2
8e99d0e Dependencies
46712c0 Packaging
dcc5450 Configure options
de63694 (tag: v1.99.1) Rewrite, v1.99.1
e96a9f9 (tag: v1.99.0) Backends
8c99925 pcapthread
cf3f65a Split
99542e5 Rewrite into Lua using `dnsjit`
2018-02-16 Jerry Lundström
Release 1.1.0
Rework of the timing code to make it more effective, based on
proof-of-concept from Petr Špaček @pspacek (CZ.NIC).
The `best_effort` timing mode is now deprecated, this is now the same
mode as `keep` and the warnings `keep` made when unable to follow
timings have been removed.
6e81a31 Timing
d30918c WIP: timing rework
2018-01-16 Jerry Lundström
Release 1.0.2
Bugfixes:
- TCP option parsing was fixed in pcap-thread 3.0.0 but the work-around
code was still in drool
- The month in the console output was incorrect
a47ed95 Update copyright year
4d44801 TCP options was fixed in pcap-thread 3.0.0
cb5cebf Fix #93: `tm_mon` is 0-11
2017-12-19 Jerry Lundström
Release 1.0.1 (v1.0)
Thanks to a few people, especially Petr Špaček @pspacek (CZ.NIC), for
testing and reporting issues and other oddities (documentation is hard),
release v1.0 is now ready!
Increase of version because of how distributions compare package versions.
f9a55bc Update pcap-thread to v3.1.0
9c26a5a pcap-thread and tests
a069d84 Fix #87: Use `sockaddr_storage`, add more debug and error messages
047abe6 Fix #84: don't loop client list on timeout handling
5377698 Fix #82: Parse TCP payload, add Known Issues
05013f0 Fix #82: Send query length
aea71ad Correct `timing multiply` in README also
6437fe7 Fix man page example for timing multiply
2017-09-18 Jerry Lundström
Release 1.0.0-rc.1
Mostly documentation updates and clarifications but also a new timing
mode `best_effort` to send packets as fast as possible without warnings
and a correct usage of `nanosleep()` on systems that does not support
`clock_nanosleep()`.
114f984 Fix #74: Best effort timing mode, fix usage of `nanosleep()`
a32201c Rework development notes
3999214 Add examples and default values
1e70ab9 Design documentation
6e530ee Fix #64: More documentation around context and client_pool,
and how configuration relates to each other.
2017-08-22 Jerry Lundström
Release 1.0.0-beta.4
Compatibility fixes and packaging.
f6b6251 Fix #66: Check for libev/ev.h also
8dff723 Code formatting
a5af21d Update pcap-thread to v2.1.3
e622612 Prepare SPEC for OSB/COPR
3c8fbb0 Fix #57: Update README with build tools and environment setup
456d586 Add debian packaging files
a0a74cb Add dependencies
2017-03-29 Jerry Lundström
Release 1.0.0-beta.3
Various compatibility fixes across GNU/Linux, FreeBSD, OpenBSD and
OS X, along with a bugfix in pcap-thread.
Special thanks to Brian Carpenter (@geeknik) for fuzzing drool.
82273cc Fix #50: Compat for OS X
fc9d87c Issue #50: Update pcap-thread to v2.1.2
04817f0 const not needed on size_t
7ab1811 Update submodules: sllq v1.0.0, parseconf v1.0.0 and omg-dns
v1.0.0
242c67a Fix CID 1421861
9f3914f Add Travis and Coverity badges
ae33c90 Check for `clock_gettime()` in librt, needed for older glibc
594c877 Add Travis-CI
b7e19a2 Fix compiler warnings and check errors from `sigwait()`
3b9f2dc Fix #43, fix #44, fix #45: Update pcap-thread to fix one off
in IP layer
2017-03-25 Jerry Lundström
Release 1.0.0-beta.2
Some minor changes and documentation updates prior to making the
repository public.
79ce5cc Add description
3f63cff Update all submodules to latest develop
0bbe9dc Log format
2017-03-06 Jerry Lundström
Release 1.0.0-beta.1
Documentation and packaging for CentOS to prepare for release candidate.
New command line option:
- `-n` to run in dry-run mode
a61d1fa Fix #9: Documentation
ee93ced Impl timing multiply
7cfaf84 Tests, dry run and updated SLLQ
2017-03-02 Jerry Lundström
Release 1.0.0-alpha.3
Reworked some of the client code to better handle stream sockets (TCP),
retrys to send query if the system's sockets are exhausted. Can send
queries as the original protocol or force them into UDP or TCP.
Default number of client pools running per context is now 1, increase
this if you want to push UDP queries. For TCP this has little effect
since you will most likely hit system limits before that.
Config changes:
- Added `context client_pools num;`
- Added `client_pool max_reuse_clients num;`
- Added `client_pool sendas what;`
Other changes:
- Add timing details to warning about not keeping up with timings
f8805da TCP, send as, proper shutdown
800e971 Include CHANGES in dist
cae9834 Honor previous fd flags
2017-02-21 Jerry Lundström
Release 1.0.0-alpha.2
This release implements the core engine and most of the network code
which consists of:
- parsing DNS packet from input using omg-dns
- sending queries to a client pool using sllq
- processing queries using client objects and libev event loops
Handling results/responses have yet been implemented.
Command line option changes:
- Added `-R` to specify read mode for PCAP files
- Removed `-w` and `-o`
Config changes:
- Added `timing ignore;`
- Added `timing keep;`
- Added `timing add nanoseconds;`
- Added `timing reduce nanoseconds;`
- Added `timing multiply float;`, note: no logic added yet
- Added `client_pool target "ip" "port";`
- Added `client_pool max_clients num;`
- Added `client_pool client_ttl float;`
- Added `client_pool skip_reply;`
- Removed `read`, `input`, `write` and `output`
246c9ad Update README with example, build info and copyright etc
94ce650 Loop/iteration read, lag detect and documentation
7bda852 Send as, multi client pools per context
e233f51 Tweaks
3d0dae4 Rework network code
5d2e492 Update conf example and man-page
9d2b4a3 Split conf, skip reply
c9cc5a2 Use parseconf submodule
64241b8 Check for `clock_nanosleep()`, `nanosleep()` and use what it
available
bbdcb07 A lot of more stuff
2017-01-20 Jerry Lundström
Release 1.0.0-alpha.1
First release, has command line options, conf file handling, logging,
man-pages, can capture/read interface/pcaps and will display some
statistics at exit.
$ src/drool -h
$ src/drool -vv -r file.pcap
$ man src/drool.1
$ man src/drool.conf.5
bb5602c Fix #3
a46d040 Fix #13: Add license
5b43516 Fix #4: Basic layout for opts, conf, logging, skeleton man-pages
and tests
a9b6ab5 Fix #1: Add initial files and directories
aca355b Initial commit
|