path: root/sbin/ping
diff options
authorAlan Somers <asomers@FreeBSD.org>2019-08-21 21:05:15 +0000
committerAlan Somers <asomers@FreeBSD.org>2019-08-21 21:05:15 +0000
commit99f13ae12c53954deee9dbceb6732bbda79956e2 (patch)
treef66e9d6f7c4f184a5412937db6160900fd7cf82b /sbin/ping
parent71a281814225d8440bb09d6373c6132045dd1552 (diff)
ping: add -H option for enabling reverse DNS lookup
This is the reverse of the -n flag. Submitted by: Ján Sučan <sucanjan@gmail.com> Sponsored by: Google LLC (Google Summer of Code 2019) Differential Revision: https://reviews.freebsd.org/D21356
Notes: svn path=/head/; revision=351354
Diffstat (limited to 'sbin/ping')
2 files changed, 17 insertions, 6 deletions
diff --git a/sbin/ping/ping.8 b/sbin/ping/ping.8
index b674d96c67d0..14dff3414eb3 100644
--- a/sbin/ping/ping.8
+++ b/sbin/ping/ping.8
@@ -28,7 +28,7 @@
.\" @(#)ping.8 8.2 (Berkeley) 12/11/93
.\" $FreeBSD$
-.Dd March 11, 2016
+.Dd August 21, 2019
.Dt PING 8
@@ -38,7 +38,7 @@
packets to network hosts
-.Op Fl AaDdfnoQqRrv
+.Op Fl AaDdfHnoQqRrv
.Op Fl c Ar count
.Op Fl G Ar sweepmaxsize
.Op Fl g Ar sweepminsize
@@ -56,7 +56,7 @@ packets to network hosts
.Op Fl z Ar tos
.Ar host
-.Op Fl AaDdfLnoQqRrv
+.Op Fl AaDdfHLnoQqRrv
.Op Fl c Ar count
.Op Fl I Ar iface
.Op Fl i Ar wait
@@ -157,6 +157,14 @@ Specify the size of
payload to start with when sending sweeping pings.
The default value is 0.
+.It Fl H
+Hostname output.
+Try to do a reverse DNS lookup when displaying addresses.
+This is the opposite of
+.Fl n ,
+and it is the default behavior.
+utility tries reverse-lookup by default.
.It Fl h Ar sweepincrsize
Specify the number of bytes to increment the size of
diff --git a/sbin/ping/ping.c b/sbin/ping/ping.c
index d04ab651351a..445b418699d9 100644
--- a/sbin/ping/ping.c
+++ b/sbin/ping/ping.c
@@ -297,7 +297,7 @@ main(int argc, char *const *argv)
outpack = outpackhdr + sizeof(struct ip);
while ((ch = getopt(argc, argv,
- "Aac:DdfG:g:h:I:i:Ll:M:m:nop:QqRrS:s:T:t:vW:z:"
+ "Aac:DdfG:g:Hh:I:i:Ll:M:m:nop:QqRrS:s:T:t:vW:z:"
#ifdef IPSEC
@@ -363,6 +363,9 @@ main(int argc, char *const *argv)
options |= F_SWEEP;
sweepmin = ltmp;
+ case 'H':
+ options &= ~F_NUMERIC;
+ break;
case 'h': /* Packet size increment for ping sweep */
ltmp = strtol(optarg, &ep, 0);
if (*ep || ep == optarg || ltmp < 1)
@@ -1743,11 +1746,11 @@ usage(void)
(void)fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
-"usage: ping [-AaDdfnoQqRrv] [-c count] [-G sweepmaxsize] [-g sweepminsize]",
+"usage: ping [-AaDdfHnoQqRrv] [-c count] [-G sweepmaxsize] [-g sweepminsize]",
" [-h sweepincrsize] [-i wait] [-l preload] [-M mask | time] [-m ttl]",
" " SECOPT " [-p pattern] [-S src_addr] [-s packetsize] [-t timeout]",
" [-W waittime] [-z tos] host",
-" ping [-AaDdfLnoQqRrv] [-c count] [-I iface] [-i wait] [-l preload]",
+" ping [-AaDdfHLnoQqRrv] [-c count] [-I iface] [-i wait] [-l preload]",
" [-M mask | time] [-m ttl]" SECOPT " [-p pattern] [-S src_addr]",
" [-s packetsize] [-T ttl] [-t timeout] [-W waittime]",
" [-z tos] mcast-group");