Commit Graph

158 Commits

Author SHA1 Message Date
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
Zakir Durumeric
5652d2084b fixing memset size in zmap.c 2013-09-02 12:49:47 -04:00
Zakir Durumeric
86e303d3d0 Merge pull request #59 from hmoore-r7/bug/csv-vs-json-typo
Fix a cosmetic typo (csv vs json)
2013-09-02 09:47:07 -07:00
HD Moore
af157807cd Fix a cosmetic typo (csv vs json) 2013-09-02 05:41:03 -05:00
Eric
ba083e1a8e cleanup tab/spaces 2013-08-31 16:25:26 -04:00
Eric
075a44cfb4 reseting to simple_file; not sure why i had to change this in the first place 2013-08-31 16:23:40 -04:00
Eric
fc6ef16b8f friendlier error messages for vpn-users in get-gateway 2013-08-31 16:16:49 -04:00
Eric
5ff9684bf9 add --vpn to doc 2013-08-31 16:02:45 -04:00
Eric
c185f6b0a4 Fake an ethernet header rather than expose vulns
There is probably a slight performance hit, but if you're
scanning with ZMap through a VPN, you probably don't care THAT
much about performance anyway...(also we only add a memcpy for
all accepted packets)
2013-08-31 15:57:15 -04:00
Eric
2972bbefdc Add --vpn (-X) flag to support sending IP pkts
When a user specifies a `-i tun0` flag for a VPN interface,
this interface expects raw IP packets, not ethernet frames.
The --vpn option allows you to send only IP packets to the
specified interface, and also performs some hacks on the receive
end to ensure we can process the results.

TODO: malloc a fake ethernet header for probe_modules.process_packet
(or better yet, make process_packet always take an IP packet, they
all seem to be implicitly doing that anyway).
2013-08-31 15:38:13 -04:00