]> gitweb.michael.orlitzky.com - hath.git/commitdiff
Update man page and cabal file examples.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 19 Aug 2013 02:10:44 +0000 (22:10 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 19 Aug 2013 02:10:44 +0000 (22:10 -0400)
doc/man1/hath.1
hath.cabal

index 7006ac3115c26212571e87b42311776157489384..3050385bdc82fde4cd23318f284910db8e73c1dc 100644 (file)
 
 .SH NAME
 hath \- Manipulate network blocks in CIDR notation
-
 .SH SYNOPSIS
 
 \fBhath\fR [\fBregexed|reduced|duped|diffed\fR] [\fB\-h\fR] [\fB-i \fIFILE\fR] \fI<input>\fR
-
 .SH INPUT
-
 .P
 The \fIinput\fR (default: stdin) should be a list of CIDR blocks,
 separated by whitespace. Empty lines will be ignored, but otherwise,
 malformed entries will cause an error to be displayed.
-
 .SH DESCRIPTION
-
 .P
 Hath is a Haskell program for working with network blocks in CIDR
 notation. When dealing with blocks of network addresses, there are a
 few things that one usually wants to do with them:
-
-.IP \[bu] 2
+.IP \(bu 2
 Create a regular expression matching the CIDR block(s). This is
 because grep will throw up if you feed it CIDR.
-
-.IP \[bu]
+.IP \(bu
 Combine small blocks into larger ones. For example, if you have two
 consecutive /24s, they might combine into a larger /23.
-
-.IP \[bu]
+.IP \(bu
 View the result of block combination in a useful way.
-
 .P
 Hath does just that. It takes as its input (via stdin, or a file with
 the -i parameter) a list of CIDR blocks.
-
 .SH MODES
-
 .P
-Hath currently has four modes:
-
-.IP \[bu] 2
+Hath has several modes:
+.IP \(bu 2
 \fBRegexed\fR
-
+.P
 This computes a (Perl-compatible) regular expression matching
 the input CIDR blocks. It's the default mode of operation.
-
+.P
 .nf
-.B $ hath <<< \(dq10.0.0.0/24 10.0.1.0/24\(dq
+.I $ hath <<< \(dq10.0.0.0/24 10.0.1.0/24\(dq
 ([^\.0-9](10)\.(0)\.(0)\.(0)[^\.0-9]|[^\.0-9](10)\.(0)\.(1)
 \.(0)[^\.0-9])
-
-.IP \[bu]
+.fi
+.IP \(bu 2
 \fBReduced\fR
-
+.P
 This combines small blocks into larger ones where possible, and
 eliminates redundant blocks. The output should be equivalent to
 the input, though.
-
+.P
 .nf
-.B $ hath reduced <<< \(dq10.0.0.0/24 10.0.1.0/24\(dq
+.I $ hath reduced <<< \(dq10.0.0.0/24 10.0.1.0/24\(dq
 10.0.0.0/23
-
-.IP \[bu]
+.fi
+.IP \(bu 2
 \fBDuped\fR
-
+.P
 Shows only the blocks that would be removed by reduce; that is, it
 shows the ones that would get combined into larger blocks or are
 simply redundant.
-
+.P
 .nf
-.B $ hath duped <<< \(dq10.0.0.0/24 10.0.1.0/24\(dq
+.I $ hath duped <<< \(dq10.0.0.0/24 10.0.1.0/24\(dq
 10.0.0.0/24
 10.0.1.0/24
-
-.IP \[bu]
+.fi
+.IP \(bu 2
 \fBDiffed\fR
-
+.P
 Shows what would change if you used reduce. Uses diff-like
 notation.
-
+.P
 .nf
-.B $ hath diffed <<< \(dq10.0.0.0/24 10.0.1.0/24\(dq
+.I $ hath diffed <<< \(dq10.0.0.0/24 10.0.1.0/24\(dq
 -10.0.0.0/24
 -10.0.1.0/24
 +10.0.0.0/23
-
+.fi
+.IP \(bu 2
+\fBListed\fR
+.P
+List the IP addresses contained within the given CIDRs.
+.P
+.nf
+.I $ hath listed <<< \(dq192.168.0.240/29\(dq
+192.168.0.240
+192.168.0.241
+192.168.0.242
+192.168.0.243
+192.168.0.244
+192.168.0.245
+192.168.0.246
+192.168.0.247
+.fi
+.IP \(bu 2
+\fBReversed\fR
+.P
+Perform reverse DNS (PTR) lookups on the IP addresses contained within
+the given CIDRs.
+.P
+.nf
+.I $ hath reversed <<< \(dq198.41.0.4\/30\(dq
+198.41.0.4: a.root-servers.net.
+198.41.0.5:
+198.41.0.6: rs.internic.net.
+198.41.0.7:
+.fi
 .P
 Each of the modes also supports a present-tense flavor; the following
 are equivalent to their counterparts: \fBregex\fR, \fBreduce\fR,
-\fBdupe\fR, \fBdiff\fR.
+\fBdupe\fR, \fBdiff\fR, \fBlist\fR, \fBreverse\fR.
 
 .SH OPTIONS
 
index b11ea39d3a69bbe57fab5f9af9d0ffffc0729fc2..48db071634c5a31763ef2d78cad6e69a0042067b 100644 (file)
@@ -24,7 +24,7 @@ description:
   .
     * View the result of block combination in a useful way.
   .
-  Hath has four modes to perform these functions:
+  Hath has several modes to perform these functions:
   .
     [@Regexed@]
     This computes a (Perl-compatible) regular expression matching
@@ -43,6 +43,13 @@ description:
     [@Diffed@]
     Shows what would change if you used reduce. Uses diff-like
     notation.
+  .
+    [@Listed@]
+    List the IP addresses contained within the given CIDRs.
+  .
+    [@Reversed@]
+    Perform reverse DNS (PTR) lookups on the IP addresses contained
+    within the given CIDRs.
   .
   /Examples/:
   .
@@ -58,7 +65,30 @@ description:
   @
   $ grep -P `hath regexed -i cidrs.txt` mail.log
   @
-
+  .
+  List the addresses in 192.168.0.240\/29:
+  .
+  @
+  $ hath listed <<< \"192.168.0.240\/29\"
+  192.168.0.240
+  192.168.0.241
+  192.168.0.242
+  192.168.0.243
+  192.168.0.244
+  192.168.0.245
+  192.168.0.246
+  192.168.0.247
+  @
+  .
+  Perform PTR lookups on all of 198.41.0.4\/30:
+  .
+  @
+  hath reversed <<< \"198.41.0.4\/30\"
+  198.41.0.4: a.root-servers.net.
+  198.41.0.5:
+  198.41.0.6: rs.internic.net.
+  198.41.0.7:
+  @
 
 executable hath
   build-depends: