]> gitweb.michael.orlitzky.com - hath.git/blobdiff - doc/man1/hath.1
Remove the "reversed" mode -- do one thing and do it well and all that.
[hath.git] / doc / man1 / hath.1
index 6e4ef3700b669ae7d4e69c00e0bebd36fd07cdb3..0316c56a3ada9fc131940a8c91d541daeda2aa25 100644 (file)
@@ -4,7 +4,7 @@
 hath \- Manipulate network blocks in CIDR notation
 .SH SYNOPSIS
 
-\fBhath\fR [\fBregexed|reduced|duped|diffed|listed|reversed\fR] [\fB\-hb\fR] \fI<input>\fR
+\fBhath\fR [\fBregexed|reduced|duped|diffed|listed\fR] [\fB\-hb\fR] \fI<input>\fR
 .SH INPUT
 .P
 The \fIinput\fR (stdin) should be a list of CIDR blocks, separated by
@@ -25,8 +25,6 @@ consecutive /24s, they might combine into a larger /23.
 View the result of block combination in a useful way.
 .IP \(bu
 List them.
-.IP \(bu
-Find their associated PTR records.
 .P
 Hath does just that. It takes as its input (via stdin) a list of CIDR
 blocks.
@@ -35,32 +33,32 @@ blocks.
 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
 .I $ echo \(dq10.0.0.0/29 10.0.0.8/29\(dq | hath
 ((10)\.(0)\.(0)\.(15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0))
 .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
 .I $ echo \(dq10.0.0.0/24 10.0.1.0/24\(dq | hath reduced
 10.0.0.0/23
 .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
 .I $ echo \(dq10.0.0.0/24 10.0.1.0/24\(dq | hath duped
 10.0.0.0/24
@@ -68,10 +66,10 @@ simply redundant.
 .fi
 .IP \(bu 2
 \fBDiffed\fR
-.P
+
 Shows what would change if you used reduce. Uses diff-like
 notation.
-.P
+
 .nf
 .I $ echo \(dq10.0.0.0/24 10.0.1.0/24\(dq | hath diffed
 -10.0.0.0/24
@@ -80,9 +78,9 @@ notation.
 .fi
 .IP \(bu 2
 \fBListed\fR
-.P
+
 List the IP addresses contained within the given CIDRs.
-.P
+
 .nf
 .I $ echo 192.168.0.240/29 | hath listed
 192.168.0.240
@@ -94,42 +92,25 @@ List the IP addresses contained within the given CIDRs.
 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 $ echo 198.41.0.4/30 | hath reversed
-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
-The DNS lookups are usually the bottleneck for this mode, but we can
-perform them in parallel. Simply pass the number of threads to the GHC
-runtime on the command line; for example, the following will perform
-25 lookups in parallel:
+.SH EXAMPLES
 .P
+Use the \(dqdig\(dq command to look up the PTR records for a netblock:
+
 .nf
-.I $ echo 198.41.0.4/24 | hath reversed +RTS -N25
-198.41.0.4: a.root-servers.net.
-198.41.0.5:
-198.41.0.6: rs.internic.net.
-\(pc\(pc\(pc
+.I $ echo 198.41.0.4/30 | hath listed | xargs -I{} dig +noall +answer -x '{}'
+4.0.41.198.in-addr.arpa. 897   IN      PTR     a.root-servers.net.
+6.0.41.198.in-addr.arpa. 900   IN      PTR     rs.internic.net.
 .fi
-
 .SH OPTIONS
 
 .IP \fB\-\-barriers\fR,\ \fB\-b\fR
-(regexed mode only) place barriers in front/back of the regex to
-prevent e.g. '127.0.0.1' from matching '127.0.0.100'. The downside is
-that the resulting regexp will match something that is not an IP
-address, and this messes up e.g. \fIgrep -o\fR.
+(regexed mode only)
+
+Place barriers in front/back of the regex to prevent, for
+example, '127.0.0.1' from matching '127.0.0.100'. The downside is that
+the resulting regexp will match something that is not an IP address.
+This can interfere with things like \fIgrep -o\fR.
 
-.P
 Without \fB\-\-barriers\fR, you can match things you shouldn't:
 
 .nf
@@ -137,20 +118,19 @@ Without \fB\-\-barriers\fR, you can match things you shouldn't:
 127.0.0.100
 .fi
 
-.P
 Using \fB\-\-barriers\fR can prevent this:
-
 .nf
 .I $ echo 127.0.0.100 | grep -P $(echo 127.0.0.1/32 | hath -b)
 .I $ echo $?
 1
 .fi
 
-.P
 But, this may also cause the regex to match something that isn't an IP
 address:
-
 .nf
 .I $ echo x127.0.0.1x | grep -Po $(echo 127.0.0.1/32 | hath -b)
 x127.0.0.1x
 .fi
+.SH BUGS
+
+Send bugs to michael@orlitzky.com.