Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NAME
     nemesis-dns -- DNS Protocol (The Nemesis Project)

SYNOPSIS
     nemesis-dns [FlkvZ?] [-a NUM] [-A NUM] [-b NUM] [-d IFNAME] [-D ADDr]
		 [-f FLAGS] [-F OPT] [-g FLAGS] [-H MAC] [-i ID] [-I ID]
		 [-M MAC] [-o FILE] [-O FILE] [-P FILE] [-q NUM] [-r NUM]
		 [-s NUM] [-S ADDR] [-t TOS] [-T TTL] [-u OFFSET] [-w SIZE]
		 [-x PORT] [-y PORT]

DESCRIPTION
     nemesis is designed to be a command line-based, portable human IP stack for
     UNIX-like	and  Windows systems.  The suite is broken down by protocol, and
     should allow for useful scripting of injected  packets  from  simple  shell
     scripts.

     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.

DNS OPTIONS
     -A NUM  Specify  the  number  of  authoritative resource records in the DNS
	     header.

     -b NUM  Specify the number of answer resource records in the DNS header.

     -g FLAGS
	     Specify the DNS flags in the DNS header.

     -i ID   Specify the DNS ID in the DNS header.

     -k      Use TCP instead of UDP when injecting DNS packets.

     -P FILE
	     This will cause nemesis-dns to use the specified FILE as  the  pay-
	     load  when  injecting  DNS packets.  For packets injected using the
	     raw interface (where -d is not used), the maximum payload	size  is
	     65443  bytes  for DNS packets injected using TCP, and 65455 for DNS
	     packets injected using UDP.  For packets injected	using  the  link
	     layer  interface  (where  -d  IS used), the maximum payload size is
	     1368 bytes for TCP DNS packets, and 1420 bytes for UDP DNS packets.
	     Payloads can also be read from stdin by specifying -P- instead.

	     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.

     -q NUM  Specify the number of questions in the DNS header.

     -r NUM  Specify the number  of  additional  resource  records  in	the  DNS
	     header.

     -v      Display  the  injected packet in human readable form.  Use twice to
	     see a hexdump of the injected packet with printable  ASCII  charac-
	     ters  on  the right.  Use three times for a hexdump without decoded
	     ASCII.

TCP OPTIONS
     -NUM    Specify the acknowledgement number (ACK number) in the TCP header.

     -f FLAGS
	     Specify the TCP flags in the TCP header.

		   -fS	SYN
		   -fA	ACK
		   -fR	RST
		   -fP	PSH
		   -fF	FIN
		   -fU	URG
		   -fE	ECE
		   -fC	CWR

	     Flags can be combined in the form -fPA.

     -o FILE
	     This will cause nemesis-dns to use the specified FILE  as	the  op-
	     tions  when  building  the TCP header for the injected packet.  TCP
	     options can be up to 40 bytes in length.  The TCP options file must
	     be created manually based upon the desired  options.   TCP  options
	     can also be read from stdin by specifying -o- instead.

     -s NUM  Specify the sequence number in the TCP header.

     -u OFFSET
	     Specify the urgent pointer offset in the TCP header.

     -w SIZE
	     Specify the window size (bytes) in the TCP header.

     -x PORT
	     Specify the TCP source port in the TCP header.

     -y PORT
	     Specify the TCP destination port in the TCP header.

UDP OPTIONS
     -x PORT
	     Source Port of injected packet.

     -y PORT
	     Target Port of injected packet.

IP OPTIONS
     -D ADDR
	     Specify the destination IP address in the IP header.

     -F OPT  Specify the fragmentation options in the IP header:

		   -FD	      don't fragment
		   -FM	      more fragments
		   -FR	      reserved flag
		   -F offset

	     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.

     -ID     Specify the IP ID in the IP header.

     -O FILE
	     This will cause nemesis-dns to use the specified FILE  as	the  op-
	     tions  when building the IP header for the injected packet.  IP op-
	     tions can be up to 40 bytes in length.  The IP options file must be
	     created manually based upon the desired options.	IP  options  can
	     also be read from stdin by specifying -O- instead.

     -S -ADDR
	     Specify the source IP address in the IP header.

     -t -TOS
	     Specify  the IP type-of-service (TOS) in the IP header.  Valid type
	     of service values:

		   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.

     -T TTL  Specify the IP time-to-live (TTL) in the IP header.

DATA LINK OPTIONS
     -d IFNAME
	     Specify the name (for UNIX-like systems) or the number (for Windows
	     systems) of the IFNAME to use (eg. fxp0, eth0, hme0, 1).

     -H MAC  Specify the source MAC address, (XX:XX:XX:XX:XX:XX).

     -M MAC  Specify the destination MAC address, (XX:XX:XX:XX:XX:XX).

     -Z      Lists  the  available network interfaces by number for use in link-
	     layer injection.

	     NOTE: This feature is only relevant to Windows systems.

DIAGNOSTICS
     Nemesis-dns returns 0 on a successful exit, 1 if it exits on an error.

SEE ALSO
     nemesis-arp(1),  nemesis-dhcp(1),	 nemesis-ethernet(1),	nemesis-icmp(1),
     nemesis-igmp(1),  nemesis-ip(1),  nemesis-ospf(1), nemesis-rip(1), nemesis-
     tcp(1), nemesis-udp(1).

AUTHORS
     Mark Grimes <mark@stateful.net> and
     Jeff Nathan <jeff@snort.org>

BUGS
     An interface for users to create DNS packet payloads should be created.

     Please report bugs at https://github.com/libnet/nemesis/issues

				   Dec 2, 2019			  nemesis-dns(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nemesis-dns&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help