summaryrefslogtreecommitdiffstats
path: root/usr.bin/netstat
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/netstat')
-rw-r--r--usr.bin/netstat/Makefile2
-rw-r--r--usr.bin/netstat/inet.c14
-rw-r--r--usr.bin/netstat/inet6.c8
-rw-r--r--usr.bin/netstat/iso.c9
-rw-r--r--usr.bin/netstat/main.c12
-rw-r--r--usr.bin/netstat/mroute.c8
-rw-r--r--usr.bin/netstat/mroute6.c12
-rw-r--r--usr.bin/netstat/netstat.116
-rw-r--r--usr.bin/netstat/netstat.h3
-rw-r--r--usr.bin/netstat/route.c16
10 files changed, 55 insertions, 45 deletions
diff --git a/usr.bin/netstat/Makefile b/usr.bin/netstat/Makefile
index c0a19a7..0b47e40 100644
--- a/usr.bin/netstat/Makefile
+++ b/usr.bin/netstat/Makefile
@@ -6,6 +6,7 @@ SRCS= if.c inet.c inet6.c main.c mbuf.c mroute.c ipx.c route.c \
unix.c atalk.c netgraph.c mroute6.c ipsec.c # iso.c ns.c tp_astring.c
CFLAGS+=-Wall
CFLAGS+=-DIPSEC
+CFLAGS+=-DINET6
#CFLAGS+=-g
#.PATH: ${.CURDIR}/../../sys/netiso
@@ -13,6 +14,5 @@ BINGRP= kmem
BINMODE=2555
DPADD= ${LIBKVM} ${LIBIPX} ${LIBNETGRAPH} ${LIBUTIL}
LDADD= -lkvm -lipx -lnetgraph -lutil
-CFLAGS+=-DINET6 -DIPSEC
.include <bsd.prog.mk>
diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c
index aee1aed..ebbab35 100644
--- a/usr.bin/netstat/inet.c
+++ b/usr.bin/netstat/inet.c
@@ -259,7 +259,7 @@ protopr(proto, name, af)
so->so_rcv.sb_cc,
so->so_snd.sb_cc);
}
- if (nflag) {
+ if (numeric_port) {
if (inp->inp_vflag & INP_IPV4) {
inetprint(&inp->inp_laddr, (int)inp->inp_lport,
name, 1);
@@ -686,11 +686,11 @@ igmp_stats(off, name)
* Pretty print an Internet address (net address + port).
*/
void
-inetprint(in, port, proto,numeric)
+inetprint(in, port, proto, numeric_port)
register struct in_addr *in;
int port;
char *proto;
- int numeric;
+ int numeric_port;
{
struct servent *sp = 0;
char line[80], *cp;
@@ -699,9 +699,9 @@ inetprint(in, port, proto,numeric)
if (Wflag)
sprintf(line, "%s.", inetname(in));
else
- sprintf(line, "%.*s.", (Aflag && !numeric) ? 12 : 16, inetname(in));
+ sprintf(line, "%.*s.", (Aflag && !numeric_port) ? 12 : 16, inetname(in));
cp = index(line, '\0');
- if (!numeric && port)
+ if (!numeric_port && port)
sp = getservbyport((int)port, proto);
if (sp || port == 0)
sprintf(cp, "%.15s ", sp ? sp->s_name : "*");
@@ -716,7 +716,7 @@ inetprint(in, port, proto,numeric)
/*
* Construct an Internet address representation.
- * If the nflag has been supplied, give
+ * If numeric_addr has been supplied, give
* numeric value, otherwise try for symbolic name.
*/
char *
@@ -729,7 +729,7 @@ inetname(inp)
struct netent *np;
cp = 0;
- if (!nflag && inp->s_addr != INADDR_ANY) {
+ if (!numeric_addr && inp->s_addr != INADDR_ANY) {
int net = inet_netof(*inp);
int lna = inet_lnaof(*inp);
diff --git a/usr.bin/netstat/inet6.c b/usr.bin/netstat/inet6.c
index c41ab90..e027d7f 100644
--- a/usr.bin/netstat/inet6.c
+++ b/usr.bin/netstat/inet6.c
@@ -1022,7 +1022,7 @@ rip6_stats(off, name)
/*
* Pretty print an Internet address (net address + port).
- * If the nflag was specified, use numbers instead of names.
+ * Take numeric_addr and numeric_port into consideration.
*/
#define GETSERVBYPORT6(port, proto, ret)\
{\
@@ -1060,7 +1060,7 @@ inet6print(in6, port, proto, numeric)
/*
* Construct an Internet address representation.
- * If the nflag has been supplied, give
+ * If the numeric_addr has been supplied, give
* numeric value, otherwise try for symbolic name.
*/
@@ -1074,7 +1074,7 @@ inet6name(in6p)
static char domain[MAXHOSTNAMELEN];
static int first = 1;
- if (first && !nflag) {
+ if (first && !numeric_addr) {
first = 0;
if (gethostname(domain, MAXHOSTNAMELEN) == 0 &&
(cp = index(domain, '.')))
@@ -1083,7 +1083,7 @@ inet6name(in6p)
domain[0] = 0;
}
cp = 0;
- if (!nflag && !IN6_IS_ADDR_UNSPECIFIED(in6p)) {
+ if (!numeric_addr && !IN6_IS_ADDR_UNSPECIFIED(in6p)) {
hp = gethostbyaddr((char *)in6p, sizeof(*in6p), AF_INET6);
if (hp) {
if ((cp = index(hp->h_name, '.')) &&
diff --git a/usr.bin/netstat/iso.c b/usr.bin/netstat/iso.c
index 1cec3b2..735498a 100644
--- a/usr.bin/netstat/iso.c
+++ b/usr.bin/netstat/iso.c
@@ -366,7 +366,8 @@ tp_inproto(pcb)
/*
* Pretty print an iso address (net address + port).
- * If the nflag was specified, use numbers instead of names.
+ * If the numeric_addr or numeric_port were specified,
+ * use numbers instead of names.
*/
#ifdef notdef
@@ -387,7 +388,7 @@ isonetname(iso)
sa.siso_addr = *iso;
sa.siso_tsuffix = 0;
- if (!nflag )
+ if ( !numeric_addr )
ihe = iso_gethostentrybyaddr( &sa, 0, 0 );
if( ihe ) {
Ihe = *ihe;
@@ -426,7 +427,7 @@ isonetprint(iso, sufx, sufxlen, islocal)
if(Aflag)
islocal += 10 ;
- if(!nflag) {
+ if(!numeric_addr) {
if( (cp -line)>10 ) {
cp = line+10;
bzero(cp, sizeof(line)-10);
@@ -435,7 +436,7 @@ isonetprint(iso, sufx, sufxlen, islocal)
*cp++ = '.';
if(sufxlen) {
- if( !Aflag && !nflag && (ihe=iso_getserventrybytsel(sufx, sufxlen))) {
+ if( !Aflag && !numeric_port && (ihe=iso_getserventrybytsel(sufx, sufxlen))) {
Ihe = *ihe;
ihe = &Ihe;
}
diff --git a/usr.bin/netstat/main.c b/usr.bin/netstat/main.c
index 293e899..db75f0a 100644
--- a/usr.bin/netstat/main.c
+++ b/usr.bin/netstat/main.c
@@ -311,7 +311,8 @@ int iflag; /* show interfaces */
int lflag; /* show routing table with use and ref */
int Lflag; /* show size of listen queues */
int mflag; /* show memory stats */
-int nflag; /* show addresses numerically */
+int numeric_addr; /* show addresses numerically */
+int numeric_port; /* show ports numerically */
int pflag; /* show given protocol */
int rflag; /* show routing tables (or routing stats) */
int sflag; /* show protocol statistics */
@@ -335,7 +336,7 @@ main(argc, argv)
af = AF_UNSPEC;
- while ((ch = getopt(argc, argv, "Aabdf:gI:iLlM:mN:np:rstuWw:")) != -1)
+ while ((ch = getopt(argc, argv, "Aabdf:gI:iLlM:mN:np:rsStuWw:")) != -1)
switch(ch) {
case 'A':
Aflag = 1;
@@ -413,7 +414,7 @@ main(argc, argv)
nlistf = optarg;
break;
case 'n':
- nflag = 1;
+ numeric_addr = numeric_port = 1;
break;
case 'p':
if ((tp = name2protox(optarg)) == NULL) {
@@ -429,6 +430,9 @@ main(argc, argv)
case 's':
++sflag;
break;
+ case 'S':
+ numeric_addr = 1;
+ break;
case 't':
tflag = 1;
break;
@@ -740,7 +744,7 @@ usage()
{
(void)fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n",
"usage: netstat [-AaLlnW] [-f address_family] [-M core] [-N system]",
-" netstat [-abdgilnrs] [-f address_family] [-M core] [-N system]",
+" netstat [-abdgilnrsS] [-f address_family] [-M core] [-N system]",
" netstat [-bdn] [-I interface] [-M core] [-N system] [-w wait]",
" netstat -m [-M core] [-N system]",
" netstat [-M core] [-N system] [-p protocol]");
diff --git a/usr.bin/netstat/mroute.c b/usr.bin/netstat/mroute.c
index 46e0dfe..15ddce5 100644
--- a/usr.bin/netstat/mroute.c
+++ b/usr.bin/netstat/mroute.c
@@ -77,7 +77,7 @@ mroutepr(mfcaddr, vifaddr)
register vifi_t vifi;
register int i;
register int banner_printed;
- register int saved_nflag;
+ register int saved_numeric_addr;
vifi_t maxvif = 0;
if (mfcaddr == 0 || vifaddr == 0) {
@@ -85,8 +85,8 @@ mroutepr(mfcaddr, vifaddr)
return;
}
- saved_nflag = nflag;
- nflag = 1;
+ saved_numeric_addr = numeric_addr;
+ numeric_addr = 1;
kread(vifaddr, (char *)&viftable, sizeof(viftable));
banner_printed = 0;
@@ -145,7 +145,7 @@ mroutepr(mfcaddr, vifaddr)
printf("\nMulticast Routing Table is empty\n");
printf("\n");
- nflag = saved_nflag;
+ numeric_addr = saved_numeric_addr;
}
diff --git a/usr.bin/netstat/mroute6.c b/usr.bin/netstat/mroute6.c
index 3441445..5da36c4 100644
--- a/usr.bin/netstat/mroute6.c
+++ b/usr.bin/netstat/mroute6.c
@@ -88,8 +88,8 @@
#include "netstat.h"
-#define WID_ORG (lflag ? 39 : (nflag ? 29 : 18)) /* width of origin column */
-#define WID_GRP (lflag ? 18 : (nflag ? 16 : 18)) /* width of group column */
+#define WID_ORG (lflag ? 39 : (numeric_addr ? 29 : 18)) /* width of origin column */
+#define WID_GRP (lflag ? 18 : (numeric_addr ? 16 : 18)) /* width of group column */
extern char *routename6 __P((struct sockaddr_in6 *));
@@ -105,7 +105,7 @@ mroute6pr(mfcaddr, mifaddr)
register mifi_t mifi;
register int i;
register int banner_printed;
- register int saved_nflag;
+ register int saved_numeric_addr;
mifi_t maxmif = 0;
long int waitings;
@@ -115,8 +115,8 @@ mroute6pr(mfcaddr, mifaddr)
return;
}
- saved_nflag = nflag;
- nflag = 1;
+ saved_numeric_addr = numeric_addr;
+ numeric_addr = 1;
kread(mifaddr, (char *)&mif6table, sizeof(mif6table));
banner_printed = 0;
@@ -192,7 +192,7 @@ mroute6pr(mfcaddr, mifaddr)
printf("\nIPv6 Multicast Routing Table is empty\n");
printf("\n");
- nflag = saved_nflag;
+ numeric_addr = saved_numeric_addr;
}
void
diff --git a/usr.bin/netstat/netstat.1 b/usr.bin/netstat/netstat.1
index 8f53bd1..774c4ac 100644
--- a/usr.bin/netstat/netstat.1
+++ b/usr.bin/netstat/netstat.1
@@ -34,7 +34,7 @@
.\"
.Dd April 18, 1994
.Dt NETSTAT 1
-.Os BSD 4.2
+.Os
.Sh NAME
.Nm netstat
.Nd show network status
@@ -45,7 +45,7 @@
.Op Fl M Ar core
.Op Fl N Ar system
.Nm
-.Op Fl bdgilnrs
+.Op Fl bdgilnrsS
.Op Fl f Ar address_family
.Op Fl M Ar core
.Op Fl N Ar system
@@ -172,7 +172,7 @@ option) or the
.Fl p Ar protocol
option is present, show per-interface statistics on the
.Ar interface
-for the specfied
+for the specified
.Ar address_family
or
.Ar protocol ,
@@ -194,7 +194,7 @@ option (with the
option) or the
.Fl p Ar protocol
option is present, show per-interface statistics on all interfaces
-for the specfied
+for the specified
.Ar address_family
or
.Ar protocol ,
@@ -218,11 +218,15 @@ Show statistics recorded by the memory management routines
Extract the name list from the specified system instead of the default
.Pa /kernel .
.It Fl n
-Show network addresses as numbers (normally
+Show network addresses and ports as numbers (normally
.Nm
-interprets addresses and attempts to display them
+interprets addresses and ports and attempts to display them
symbolically).
This option may be used with any of the display formats.
+.It Fl S
+Show network addresses as numbers (as with
+.Fl n )
+but show ports symbolically).
.It Fl p Ar protocol
Show statistics about
.Ar protocol ,
diff --git a/usr.bin/netstat/netstat.h b/usr.bin/netstat/netstat.h
index 997750c..8a817f4 100644
--- a/usr.bin/netstat/netstat.h
+++ b/usr.bin/netstat/netstat.h
@@ -45,7 +45,8 @@ extern int iflag; /* show interfaces */
extern int lflag; /* show routing table with use and ref */
extern int Lflag; /* show size of listen queues */
extern int mflag; /* show memory stats */
-extern int nflag; /* show addresses numerically */
+extern int numeric_addr; /* show addresses numerically */
+extern int numeric_port; /* show ports numerically */
extern int pflag; /* show given protocol */
extern int rflag; /* show routing tables (or routing stats) */
extern int sflag; /* show protocol statistics */
diff --git a/usr.bin/netstat/route.c b/usr.bin/netstat/route.c
index 11e49b6..046dad1 100644
--- a/usr.bin/netstat/route.c
+++ b/usr.bin/netstat/route.c
@@ -235,9 +235,9 @@ pr_family(af)
#define WID_IF(af) 6 /* width of netif column */
#else
#define WID_DST(af) \
- ((af) == AF_INET6 ? (lflag ? 39 : (nflag ? 33: 18)) : 18)
+ ((af) == AF_INET6 ? (lflag ? 39 : (numeric_addr ? 33: 18)) : 18)
#define WID_GW(af) \
- ((af) == AF_INET6 ? (lflag ? 31 : (nflag ? 29 : 18)) : 18)
+ ((af) == AF_INET6 ? (lflag ? 31 : (numeric_addr ? 29 : 18)) : 18)
#define WID_IF(af) ((af) == AF_INET6 ? 8 : 6)
#endif /*INET6*/
@@ -564,7 +564,7 @@ p_sockaddr(sa, mask, flags, width)
if (width < 0 )
printf("%s ", cp);
else {
- if (nflag)
+ if (numeric_addr)
printf("%-*s ", width, cp);
else
printf("%-*.*s ", width, width, cp);
@@ -662,7 +662,7 @@ routename(in)
struct hostent *hp;
cp = 0;
- if (!nflag) {
+ if (!numeric_addr) {
hp = gethostbyaddr((char *)&in, sizeof (struct in_addr),
AF_INET);
if (hp) {
@@ -744,7 +744,7 @@ netname(in, mask)
i = ntohl(in);
dmask = forgemask(i);
omask = mask;
- if (!nflag && i) {
+ if (!numeric_addr && i) {
net = i & dmask;
if (!(np = getnetbyaddr(i, AF_INET)) && net != i)
np = getnetbyaddr(net, AF_INET);
@@ -841,12 +841,12 @@ netname6(sa6, mask)
if (masklen == 0 && IN6_IS_ADDR_UNSPECIFIED(&sa6->sin6_addr))
return("default");
- if (nflag)
+ if (numeric_addr)
flag |= NI_NUMERICHOST;
getnameinfo((struct sockaddr *)sa6, sa6->sin6_len, line, sizeof(line),
NULL, 0, flag);
- if (nflag)
+ if (numeric_addr)
sprintf(&line[strlen(line)], "/%d", masklen);
return line;
@@ -864,7 +864,7 @@ routename6(sa6)
sa6_local.sin6_addr = sa6->sin6_addr;
sa6_local.sin6_scope_id = sa6->sin6_scope_id;
- if (nflag)
+ if (numeric_addr)
flag |= NI_NUMERICHOST;
getnameinfo((struct sockaddr *)&sa6_local, sa6_local.sin6_len,
OpenPOWER on IntegriCloud