Commit Graph

167 Commits

Author SHA1 Message Date
David Adrian
d1f6d4c182 Fix minor styling errors 2013-10-12 12:52:15 -04:00
David Adrian
f483288e5a Improved filter validator
- Can no longer do "stringfield = INTEGER" or "intfield = string"
- Print slightly more sane error messages
2013-10-12 12:47:23 -04:00
David Adrian
a01a99e239 Fix casing error in #include 2013-10-12 12:05:30 -04:00
David Adrian
84318c2cf0 Revert "Untested iterative implementation of evaluate"
This reverts commit f2ba9d7621.
2013-10-11 17:10:20 -04:00
David Adrian
8f19fb2cac Revert "Switch to the iterative evaluator"
This reverts commit eeb5ddcf0c.
2013-10-11 17:10:05 -04:00
David Adrian
eeb5ddcf0c Switch to the iterative evaluator 2013-10-11 12:38:22 -04:00
David Adrian
f2ba9d7621 Untested iterative implementation of evaluate 2013-10-11 12:13:42 -04:00
David Adrian
2453404604 Move stack.h and stack.c to lib 2013-10-11 11:04:04 -04:00
David Adrian
bc516445ef Remove debug printf calls 2013-10-11 10:25:45 -04:00
David Adrian
4af98e9951 Working filtering, still needs cleanup and optimization 2013-10-11 10:19:53 -04:00
David Adrian
af834fe2e2 Update build to -Werror, #pragma to ignore in lexer.l 2013-10-09 12:49:58 -04:00
David Adrian
f6ea0a79a8 Build filter using CMake 2013-10-04 10:53:03 -04:00
David Adrian
9df8f678a3 Drop packets that don't pass the filter in recv 2013-10-03 14:29:46 -04:00
David Adrian
29c291c562 Incredibly hacky evaluate implementation 2013-10-03 14:29:46 -04:00
David Adrian
f7939bfbcb Add support for holding an index instead of fieldname 2013-10-03 14:29:38 -04:00
David Adrian
8db9f260f2 Mildly working build process with argument parsing 2013-10-03 14:29:38 -04:00
David Adrian
8607c2574b Move filter files into src/
- Makefile still needs work, is not compiling
2013-10-03 14:29:22 -04:00
David Adrian
9693b66024 Initial import of filter parser
Current runs as its own program, partially implemented.
Commiting for the sake of sharing access / backup.
Still needs a lot of work.
2013-10-03 14:28:44 -04:00
David Adrian
21fa755c13 Finish moving zmap to CMake
- Generalize libjson support in CMakeLists
- Remove zopt.h, zopt.c from the repository
2013-10-03 12:14:36 -04:00
Justin Lecher
154fb01525 Convert plain Makefile into cmake
The package can be configured with 4 different options:

-DWITH_REDIS=ON

Enable support for Redis DB

-DWITH_JSON=ON

Enable support for JSON based output

-DENABLE_DEVELOPMENT=ON

Enable all warnings and make them fatal

-DENABLE_HARDENING=ON

Compile and link with some hardening

Use the new system by creating a build directory and change into that.
And then call the following

cmake -DWITH_REDIS=OFF -DWITH_JSON=ON -DENABLE_DEVELOPMENT=ON -DENABLE_HARDENING=ON /path/to/source/dir/
make
make DESTDIR="/..." install

Signed-off-by: Justin Lecher <jlec@gentoo.org>

Merged by David Adrian
- Remove src/Makefile
- Updated .gitignore for CMake
2013-10-03 11:38:48 -04:00
Zakir Durumeric
4a37dba56f Merge branch 'fast-whitelist' of github.com:zmap/zmap 2013-10-03 10:59:21 -04:00
Eric
19c4a04932 demote spurious log_infos to log_debug 2013-10-03 04:17:03 -04:00
Eric
ec1b761489 Support multiple cyclic groups for smaller subnets
We will choose the first one in the list that is large enough to support
the number of hosts chosen. This speeds up scanning small networks considerably:
e.g. /16s can be scanned in <200ms (+ cooldown)
2013-10-03 03:50:12 -04:00
Eric
d2112701b0 have cyclic use blacklist_lookup_index 2013-10-03 02:49:50 -04:00
Eric
3aa0f27b51 constraints stores network order; we want to return host order 2013-10-03 02:48:46 -04:00
Eric
408e46d939 add blacklist_lookup_index proto 2013-10-03 02:47:31 -04:00
Eric
8ecbd038b5 Adding radix support to constraints
This allows us to lookup an index -> ip address much faster
(16 seconds for ~3.7 billion addresses with sparse blacklist,
vs 65 sec before radix array).

Setting the PREFIX_LEN to /20, as this appears to give a good tradeoff
between radix population time (<1ms), runtime (16s), and memory footprint (4MB).
2013-10-03 02:28:19 -04:00
Alex Halderman
bc3ec6456a What Eric and Zakir said 2013-10-01 17:05:47 -04:00
Zakir Durumeric
5cd6f3294c Merge branch 'master' of github.com:zmap/zmap 2013-09-09 22:38:21 -04:00
Zakir Durumeric
952df21a1f Changing 192.18.0.0/15 to 198.18.0.0/15 in default blacklist.
Reported by David Fifield: The network 192.18.0.0/15 is typoed in RFC 2544;
it should be 198.18.0.0/15. The erratum is here:
http://www.rfc-editor.org/errata_search.php?rfc=2544
2013-09-09 22:36:56 -04:00
Eric
6c74ce6837 Update man page to include fields
and also update file paths
2013-09-03 16:02:27 -04:00
Eric
2198295c71 Adding icmp unreachable strings (udp_unreach_str) 2013-09-02 19:00:22 -04:00
Eric
754e2dc1f7 Add icmp_responder to UDP fieldset
icmp_responder is the source address of the DEST_UNREACH ICMP
packet, which is not necessarily the same as the saddr (e.g.
NETWORK_UNREACH)
2013-09-02 18:14:58 -04:00
Eric
d694fe69a6 UDP probe module updates saddr fieldset
ICMP responses (e.g. DEST_UNREACH) to UDP probes (generally)
contain the IP/UDP packet that ellicited the response, though
they do not have to come from the host we sent them to (e.g.
NETWORK_UNREACH). We will "correct" this by switching the saddr
fieldset to be the host we WOULD have received a response from
2013-09-02 17:58:20 -04:00
Eric
ee9593938b Move make_ip_str to probe_modules/packet.c
This is a utility function, mostly useful for probe modules
2013-09-02 17:57:32 -04:00
Eric
e458982892 Add fs_modify_word to fieldset
You may modify an existing word to be a different value;
useful in UDP module for ICMP unreachable responses, so
we can update the "source" address
2013-09-02 17:55:06 -04:00
Zakir Durumeric
1d8911ebb7 changing size of udp output fields len 2013-09-02 17:13:17 -04:00
Zakir Durumeric
8c8049dd66 adding data to udp probe module 2013-09-02 17:06:47 -04:00
Zakir Durumeric
51da87c605 removing accidental referal to data in udp module 2013-09-02 15:58:53 -04:00
Zakir Durumeric
3406f10271 Merge branch 'master' of github.com:zmap/zmap 2013-09-02 15:57:51 -04:00
Zakir Durumeric
b77100a387 fixing Note the incorrect values for icmp_type, icmp_length, and ttl 2013-09-02 15:57:43 -04:00
Eric
7534966101 use pkg-config for JSON=true 2013-09-02 15:49:49 -04:00
Eric
e02ac4eb0b surely this will work 2013-09-02 15:44:15 -04:00
Eric
7ad015dc73 make now works with default json-c install 2013-09-02 15:30:21 -04:00
Eric
fde456e592 format output fields better 2013-09-02 14:22:57 -04:00
Eric
b4c2a42a86 print miliseconds in timestamp-str, and correct timestamp-us description 2013-09-02 14:22:10 -04:00
Eric
cec225302a tcp seq is 32-bits 2013-09-02 13:28:17 -04:00
Eric
d44b0f10e4 ipid is 16-bit and ttl is 8-bit 2013-09-02 13:22:52 -04:00
Eric
1ed0c2a32d print newline after csv headers 2013-09-02 13:18:39 -04:00
Zakir Durumeric
b606544591 Merge branch 'master' of github.com:zmap/zmap 2013-09-02 12:50:21 -04:00