Author:
obecian
obecian@celerity.bartoli.org
Graphic:
lordess
lordess@wongfaye.com
Version:
0.666-alpha [First public release]
Description:
The Nemesis Project is designed to be a commandline-based, portable human IP stack for UNIX/Linux. The suite is broken down by protocol, and should allow for useful scripting of injected packet streams from simple shell scripts.
Protocols: TCP*, UDP, ICMP*, ARP, OSPF (* = datalink / IP layer support)
DNS, IGMP, RIP and SNMP (others as integrated by Libnet) [NOT YET IMPLEMENTED]

TCP Usage:

  ./tcp [-v] [options]

TCP options: 
  [-x <Source Port>]
  [-y <Destination Port>]
  -f <TCP Flag Options>
     -fS SYN, -fA ACK, -fR RST, -fP PSH, -fF FIN, -fU URG
  -w <Window Size>
  -s <SEQ Number>
  -a <ACK Number>
  -u <TCP Urgent Pointer>
  -P <Payload File (Binary or ASCII)>
  -b (Enable Binary Payload)
  (-v VERBOSE - packet struct to stdout)

IP options: 
  -S <Source IP Address>
  -D <Destination IP Address>
  -I <IP ID>
  -T <IP TTL>
  -t <IP tos>
  -O <IP Options>

Data Link Options: 
  -d <Ethernet Device>
  -H <Source MAC Address>
  -M <Destination MAC Address>

UDP Usage:

  ./udp [-v] [options]

options: 
  [-x <Source Port>]
  [-y <Destination Port>]
  -P <Payload File (Binary or ASCII)>
  -b (Enable Binary Payload)
  (-v VERBOSE - packet struct to stdout)

IP options: 
  -S <Source IP Address>
  -D <Destination IP Address>
  -I <IP ID>
  -T <IP TTL>
  -t <IP tos>
  -o <IP Options>

ICMP Usage:

  ./icmp [-v] [options]

ICMP options: 
  -i <ICMP Type>
  -c <ICMP Code>
  -S <Sequence Number>
  -m <ICMP Mask>
  -G <Preferred Gateway>
  -Co <Time of Originating request>
  -Cr <Time request was Received>
  -Ct <Time reply was Transmitted>
  -P <Payload File (Binary or ASCII)>
  -b (Enable Binary Payload)
  (-v VERBOSE - packet struct to stdout)

IP options: 
  -S <Source IP Address>
  -D <Destination IP Address>
  -I <IP ID>
  -T <IP TTL>
  -t <IP tos>
  -o <IP Options>

Data Link Options: 
  -d <Ethernet Device>
  -H <Source MAC Address>
  -M <Destination MAC Address>

ARP Usage:

  ./arp [-v] [optlist]

ARP Options: 
  -S <Source IP Address>
  -D <Destination IP Address>
  -P <Payload File (Binary or ASCII)>
  -b (Enable Binary Payload)
  (-v VERBOSE - packet struct to stdout)

Data Link Options: 
  -d <Ethernet Device>
  -H <Source MAC Address>
  -M <Destination MAC Address>

OSPF Usage:

  ./ospf [-v] [optlist]

OSPF options: 
  -p <OSPF Protocol>
     -pH HELLO, -pL LSA, -pR LSR
  -n <Neighbor Router Address>
  -i <Dead Router Interval>
  -L <router id (LSA)>
  -s <sequence number>
  -r <Advertising Router Address>
  -g <OSPF LSA age>
  -m <OSPF netmask>
  -O <OSPF options>
  -l <OSPF interval>
  -R <OSPF router id>
  -A <OSPF area id>

  -P <Payload File (Binary or ASCII)>
  -b (Enable Binary Payload)
  (-v VERBOSE - packet struct to stdout)

IP Options
  -S <Source Address>
  -D <Destination Address>
  -I <IP ID>
  -T <IP TTL>
  -t <IP tos>
  -o <IP Options>

Examples:
  • tcp -v -S 192.168.1.1 -D 192.168.2.2 -fS -fA -y 22 -P foo
    Send TCP packet (SYN/ACK) with payload from ascii file 'foo' to target's ssh port
    from 192.168.1.1 to 192.168.2.2. (-v allows a stdout visual of current injected packet)
  • udp -v -S 10.11.12.13 -D 10.1.1.2 -x 11111 -y 53 -P bindpkt -b
    Send UDP packet from 10.11.12.13:11111 to 10.1.1.2's nameservice port with a payload read
    from a binary file 'bindpkt'. (again -v is used in order to see confirmation of our injected packet)
  • icmp -S 10.10.10.3 -D 10.10.10.1 -G 10.10.10.3 -i 5
    Send ICMP REDIRECT FOR NETWORK packet from 10.10.10.3 to 10.10.10.1 with preferred
    gateway as source address. Here we want no output to go to stdout - which would be ideal as
    a component in a batch job via shell script.
  • arp -v -d ne0 -H 0:1:2:3:4:5 -S 10.11.30.5 -D 10.10.15.1
    Send ARP packet through device 'ne0' (eg, my OpenBSD pcmcia nic) from Hardware Source
    Address 00:01:02:03:04:05 with IP Source Address of 10.11.30.5 to Destination IP address 10.10.15.1.
  • ospf -v -pH -S 10.10.10.10 -D 10.9.9.4 -I 304 -i 60
    Send OSPF HELLO packet from 10.10.10.10 to 10.9.9.4 with IP ID 304 and a 60 second Dead Router Interval
  • What's New:
  • First public release of The Nemesis Project (11/15/99) (bugs may be present - this IS an *ALPHA* release)
  • Platforms:
    Please email the author a small note if you successfully compile Nemesis on any platform not listed below.

  • OpenBSD 2.5, 2.6
  • FreeBSD 3.x
  • Downloads:
    Source
    nemesis v0.666 (alpha) 88k