nemesis-dns provides an interface to craft and inject DNS packets allowing the user to specify any portion of a DNS packet as well as lower-level IP and TCP/UDP packet information.
Windows systems are limited to a maximum payload size of 1368 bytes for TCP DNS packets and 1420 bytes for UDP DNS packets.
The payload file can consist of any arbitrary data though it will be most useful to create a payload resembling the structure of the DNS packet specified using the command-line options. In order to send real DNS packets, a payload containing the appropriate record data (as specified in the DNS header) must be created manually.
-fS (SYN) -fA (ACK) -fR (RST) -fP (PSH) -fF (FIN) -fU (URG) -fE (ECE) -fC (CWR)
within the TCP header. Flags can be combined in the form '-fPA'.
-FD (don't fragment) -FM (more fragments) -FR (reserved flag) -F <offset>
within the IP header. IP fragmentation options can be specified individually or combined into a single argument to the -F command line switch by separating the options with commas (eg. '-FD,M') or spaces (eg. '-FM 223'). The IP fragmentation offset is a 13-bit field with valid values from 0 to 8189. Don't fragment (DF), more fragments (MF) and the reserved flag (RESERVED or RB) are 1-bit fields.
NOTE: Under normal conditions, the reserved flag is unset.
2 (Minimize monetary cost) 4 (Maximize reliability) 8 (Maximize throughput) 24 (Minimize delay)
NOTE: Under normal conditions, only one type of service is set within a packet. To specify multiple types, specify the sum of the desired values as the type of service.
NOTE: This feature is only relevant to Windows systems.
Send concise and clearly written bug reports to jeff@snort.org
Originally developed by Mark Grimes <mark@stateful.net>