###############################################################################
#Author: Samuel Jero <sj323707@ohio.edu>
#
-# Date: 11/2011
+# Date: 12/2012
#
# Makefile for program dccpping
###############################################################################
BINDIR = /usr/local/bin
MANDIR = /usr/local/man
-all: dccpping
+all: dccpping dccpping.1
dccpping: dccpping.c checksums.h checksums.o Makefile
${CC} ${CFLAGS} dccpping.c checksums.o -odccpping
checksums.o: checksums.c checksums.h Makefile
${CC} ${CFLAGS} -c checksums.c -ochecksums.o
+dccpping.1: dccpping.pod
+ pod2man -s 1 -c "dccpping" dccpping.pod > dccpping.1
-install: dccpping
+install: dccpping dccpping.1
install -m 4755 -o root -g root dccpping ${BINDIR}/dccpping
-# install -m 444 -o bin -g bin dccpping.1 ${MANDIR}/man1/dccpping.1
+ install -m 444 -o bin -g bin dccpping.1 ${MANDIR}/man1/dccpping.1
uninstall:
rm -f ${BINDIR}/dccpping
-# rm -r ${MANDIR}/man1/dccpping.1
+ rm -f ${MANDIR}/man1/dccpping.1
clean:
- rm -f *~ dccpping core *.o
\ No newline at end of file
+ rm -f *~ dccpping core *.o dccpping.1
--- /dev/null
+=head1 NAME
+
+dccpping - send DCCP Request packets to network hosts
+
+=head1 SYNOPSIS
+
+B<dccpping> [-v] [-V] [-h] [-n] [-6|-4] [-c I<count>] [-p I<port>] [-i I<interval>] [-t I<ttl>] [-s I<service_code>] [-S I<srcaddress>] I<destination>
+
+=head1 DESCRIPTION
+
+B<dccpping> uses DCCP Request packets to elicit a response from a host or gateway.
+
+For each response received, a line of information about the type of response (DCCP packet
+ or ICMP error) and the round trip time are printed. Upon termination, statistics about
+the loss rate and round trip times are printed.
+
+B<dccpping> uses the well-known "half-open technique", which prevents applications on
+the destination host from seeing our probes at all. Normally, a DCCP Request is sent.
+For non-listened ports we receive a DCCP Reset, and all is done. For active listening
+ports we receive DCCP Response, but answer with a DCCP Reset (instead of the expected
+DCCP Ack), this way the remote DCCP session is closed without the application ever
+noticing.
+
+=head1 OPTIONS
+
+=over 5
+
+=item B<-v> Verbose. May be repeated for aditional verbosity.
+
+=item B<-V> Version information
+
+=item B<-h> Help
+
+=item B<-6> Force IPv6 mode
+
+=item B<-4> Force IPv4 mode
+
+=item B<-n> Numeric output only. No attempt will be made to lookup symbolic names for host addresses.
+
+=item B<-c> I<count>
+
+Stop after sending I<count> requests. The default is unlimited.
+
+=item B<-p> I<port>
+
+Send requests to DCCP port I<port>. The default is 33434.
+
+=item B<-i> I<interval>
+
+Wait I<interval> seconds between sending requests. The default is 1 second.
+
+=item B<-t> I<ttl>
+
+Set the IP Time to Live. The default is 64.
+
+=item B<-s> I<service_code>
+
+Set the DCCP service code to use in requests.
+
+=item B<-S> I<source_address>
+
+Set source address to specified address. Must be a valid address on some interface.
+
+=back
+
+=head1 AUTHOR
+
+Samuel Jero <sj323707@ohio.edu>
+
+=head1 SEE ALSO
+
+B<ping>(8)