Annotation of src/usr.bin/netstat/netstat.1, Revision 1.55
1.55 ! mk 1: .\" $OpenBSD: netstat.1,v 1.54 2009/01/26 17:28:09 claudio Exp $
1.1 deraadt 2: .\" $NetBSD: netstat.1,v 1.11 1995/10/03 21:42:43 thorpej Exp $
3: .\"
4: .\" Copyright (c) 1983, 1990, 1992, 1993
5: .\" The Regents of the University of California. All rights reserved.
6: .\"
7: .\" Redistribution and use in source and binary forms, with or without
8: .\" modification, are permitted provided that the following conditions
9: .\" are met:
10: .\" 1. Redistributions of source code must retain the above copyright
11: .\" notice, this list of conditions and the following disclaimer.
12: .\" 2. Redistributions in binary form must reproduce the above copyright
13: .\" notice, this list of conditions and the following disclaimer in the
14: .\" documentation and/or other materials provided with the distribution.
1.29 millert 15: .\" 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 16: .\" may be used to endorse or promote products derived from this software
17: .\" without specific prior written permission.
18: .\"
19: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29: .\" SUCH DAMAGE.
30: .\"
31: .\" from: @(#)netstat.1 8.8 (Berkeley) 4/18/94
32: .\"
1.55 ! mk 33: .Dd $Mdocdate: January 26 2009 $
1.1 deraadt 34: .Dt NETSTAT 1
1.16 aaron 35: .Os
1.1 deraadt 36: .Sh NAME
37: .Nm netstat
38: .Nd show network status
39: .Sh SYNOPSIS
40: .Nm netstat
41: .Op Fl Aan
42: .Op Fl f Ar address_family
43: .Op Fl M Ar core
44: .Op Fl N Ar system
45: .Nm netstat
1.52 claudio 46: .Bk -words
1.48 pyr 47: .Op Fl bdFgilmnqrstu
1.1 deraadt 48: .Op Fl f Ar address_family
49: .Op Fl M Ar core
50: .Op Fl N Ar system
1.52 claudio 51: .Op Fl T Ar tableid
52: .Ek
1.1 deraadt 53: .Nm netstat
1.24 camield 54: .Op Fl bdn
1.1 deraadt 55: .Op Fl I Ar interface
56: .Op Fl M Ar core
57: .Op Fl N Ar system
58: .Op Fl w Ar wait
59: .Nm netstat
1.45 jaredy 60: .Op Fl M Ar core
61: .Op Fl N Ar system
62: .Fl P Ar pcbaddr
63: .Nm netstat
1.35 markus 64: .Op Fl s
1.1 deraadt 65: .Op Fl M Ar core
66: .Op Fl N Ar system
1.31 jmc 67: .Op Fl p Ar protocol
1.19 itojun 68: .Nm netstat
1.34 jmc 69: .Op Fl a
1.19 itojun 70: .Op Fl f Ar address_family
1.34 jmc 71: .Op Fl i | I Ar interface
1.42 reyk 72: .Nm netstat
73: .Op Fl W Ar interface
1.1 deraadt 74: .Sh DESCRIPTION
75: The
1.21 aaron 76: .Nm
1.1 deraadt 77: command symbolically displays the contents of various network-related
78: data structures.
79: There are a number of output formats,
80: depending on the options for the information presented.
1.21 aaron 81: .Pp
1.1 deraadt 82: The first form of the command displays a list of active sockets for
83: each protocol.
84: The second form presents the contents of one of the other network
85: data structures according to the option selected.
86: Using the third form, with a
87: .Ar wait
88: interval specified,
1.21 aaron 89: .Nm
1.1 deraadt 90: will continuously display the information regarding packet
91: traffic on the configured network interfaces.
1.46 jmc 92: The fourth form displays statistics about the protocol control block (PCB).
93: The fifth form displays statistics about the named protocol.
94: The sixth form displays per interface statistics for
1.30 jmc 95: the specified address family.
1.43 jmc 96: The final form displays per interface statistics for
97: the specified wireless (802.11) device.
1.1 deraadt 98: .Pp
1.12 aaron 99: The options are as follows:
1.22 aaron 100: .Bl -tag -width Ds
1.1 deraadt 101: .It Fl A
102: With the default display,
103: show the address of any protocol control blocks associated with sockets; used
1.45 jaredy 104: for debugging, e.g. with the
105: .Fl P
106: flag.
1.1 deraadt 107: .It Fl a
108: With the default display,
109: show the state of all sockets; normally sockets used by
110: server processes are not shown.
1.34 jmc 111: With the interface display (options
112: .Fl I
113: or
114: .Fl i ) ,
115: show multicast addresses.
1.24 camield 116: .It Fl b
1.34 jmc 117: With the interface display (options
118: .Fl I
119: or
1.24 camield 120: .Fl i ) ,
121: show bytes in and out, instead of packet statistics.
1.1 deraadt 122: .It Fl d
1.34 jmc 123: With either the interface display (options
124: .Fl I
125: or
126: .Fl i )
127: or an interval (option
128: .Fl w ) ,
1.1 deraadt 129: show the number of dropped packets.
1.48 pyr 130: .It Fl F
131: When showing routes, only show routes whose gateway are in the
132: same address family as the destination.
1.16 aaron 133: .It Fl f Ar address_family
1.1 deraadt 134: Limit statistics or address control block reports to those
135: of the specified
1.12 aaron 136: .Ar address_family .
1.21 aaron 137: .Pp
138: The following address families are recognized:
139: .Pp
140: .Bl -column "Address Family" "AF_APPLETA" "Description" -offset indent -compact
141: .It Sy "Address Family" Ta Sy "Constant" Ta Sy "Description"
1.55 ! mk 142: .It "atalk" Ta Dv "AF_APPLETALK" Ta "AppleTalk"
! 143: .It "encap" Ta Dv "PF_KEY" Ta "IPsec"
1.32 jmc 144: .It "inet" Ta Dv "AF_INET" Ta "IP Version 4"
145: .It "inet6" Ta Dv "AF_INET6" Ta "IP Version 6"
146: .It "local" Ta Dv "AF_LOCAL" Ta "Local to Host (i.e., pipes)"
1.55 ! mk 147: .It "mpls" Ta Dv "AF_MPLS" Ta "MPLS"
! 148: .It "pflow" Ta Dv "PF_FLOW" Ta "pflow data export"
1.32 jmc 149: .It "unix" Ta Dv "AF_UNIX" Ta "Local to Host (i.e., pipes)"
1.21 aaron 150: .El
151: .Pp
1.1 deraadt 152: .It Fl g
153: Show information related to multicast (group address) routing.
1.34 jmc 154: By default, show the IP multicast virtual-interface and routing tables.
1.1 deraadt 155: If the
156: .Fl s
157: option is also present, show multicast routing statistics.
1.16 aaron 158: .It Fl I Ar interface
1.21 aaron 159: Show information about the specified
160: .Ar interface ;
1.1 deraadt 161: used with a
162: .Ar wait
163: interval as described below.
1.21 aaron 164: .Pp
1.19 itojun 165: If the
1.34 jmc 166: .Fl a
167: option is also present, multicast addresses currently in use are shown
168: for the given interface and for each IP interface address.
169: Multicast addresses are shown on separate lines following the interface
170: address with which they are associated.
171: .Pp
172: If the
1.19 itojun 173: .Fl f Ar address_family
174: option (with the
175: .Fl s
1.30 jmc 176: option) is present, show per-interface
177: statistics on the given interface for the specified
178: .Ar address_family .
1.1 deraadt 179: .It Fl i
180: Show the state of interfaces which have been auto-configured
1.21 aaron 181: (interfaces statically configured into a system but not
182: located at boot-time are not shown).
183: .Pp
1.1 deraadt 184: If the
185: .Fl a
1.21 aaron 186: option is also present, multicast addresses currently in use are shown
1.1 deraadt 187: for each Ethernet interface and for each IP interface address.
188: Multicast addresses are shown on separate lines following the interface
189: address with which they are associated.
1.21 aaron 190: .Pp
1.19 itojun 191: If the
192: .Fl f Ar address_family
193: option (with the
194: .Fl s
1.30 jmc 195: option) is present, show per-interface statistics on all interfaces
1.21 aaron 196: for the specified
1.30 jmc 197: .Ar address_family .
1.31 jmc 198: .It Fl l
199: With the
200: .Fl g
201: option, display wider fields for the IPv6 multicast routing table
202: .Qq Origin
203: and
204: .Qq Group
205: columns.
1.17 deraadt 206: .It Fl M Ar core
1.1 deraadt 207: Extract values associated with the name list from the specified core
1.27 miod 208: instead of the running kernel.
1.1 deraadt 209: .It Fl m
210: Show statistics recorded by the memory management routines
211: (the network manages a private pool of memory buffers).
1.17 deraadt 212: .It Fl N Ar system
1.27 miod 213: Extract the name list from the specified system instead of the running kernel.
1.1 deraadt 214: .It Fl n
215: Show network addresses as numbers (normally
1.21 aaron 216: .Nm
1.1 deraadt 217: interprets addresses and attempts to display them
218: symbolically).
219: This option may be used with any of the display formats.
1.45 jaredy 220: .It Fl P Ar pcbaddr
221: Display the contents of the protocol control block (PCB) located at
222: the kernel virtual address
223: .Ar pcbaddr .
224: PCB addresses can be obtained using the
225: .Fl A
226: flag.
227: This option can currently only be used to display TCP control blocks.
1.16 aaron 228: .It Fl p Ar protocol
1.35 markus 229: Restrict the output to
1.12 aaron 230: .Ar protocol ,
1.21 aaron 231: which is either a well-known name for a protocol or an alias for it.
232: Some protocol names and aliases are listed in the file
1.1 deraadt 233: .Pa /etc/protocols .
234: The program will complain if
235: .Ar protocol
1.35 markus 236: is unknown.
237: If the
238: .Fl s
239: option is specified, the per-protocol statistics are displayed.
240: Otherwise the states of the matching sockets are shown.
1.26 brian 241: .It Fl q
242: Only show interfaces that have seen packets (or bytes if
243: .Fl b
1.34 jmc 244: is specified).
1.1 deraadt 245: .It Fl r
246: Show the routing tables.
1.21 aaron 247: If the
1.1 deraadt 248: .Fl s
1.21 aaron 249: option is also specified, show routing statistics instead.
1.26 brian 250: .It Fl s
251: Show per-protocol statistics.
252: If this option is repeated, counters with a value of zero are suppressed.
1.51 claudio 253: .It Fl T Ar tableid
254: Select an alternate routing table to modify or query.
255: Table 0 is the default table.
1.31 jmc 256: .It Fl t
257: With the
258: .Fl i
259: option, display the current value of the watchdog timer function.
260: .It Fl u
261: Limit statistics or address control block reports to the
262: .Dv AF_UNIX
263: address family.
1.10 peter 264: .It Fl v
1.19 itojun 265: Be verbose.
266: Avoids truncation of long addresses.
1.42 reyk 267: .It Fl W Ar interface
268: (IEEE 802.11 devices only)
269: Show per-interface IEEE 802.11 wireless statistics.
1.1 deraadt 270: .It Fl w Ar wait
271: Show network interface statistics at intervals of
272: .Ar wait
273: seconds.
274: .El
275: .Pp
276: The default display, for active sockets, shows the local
277: and remote addresses, send and receive queue sizes (in bytes), protocol,
278: and the internal state of the protocol.
1.21 aaron 279: .Pp
280: Address formats are of the form
281: .Dq host.port
282: or
283: .Dq network.port
1.1 deraadt 284: if a socket's address specifies a network but no specific host address.
1.21 aaron 285: When known, the host and network addresses are displayed symbolically
286: according to the databases
1.1 deraadt 287: .Pa /etc/hosts
288: and
289: .Pa /etc/networks ,
1.21 aaron 290: respectively.
291: If a symbolic name for an address is unknown, or if the
1.1 deraadt 292: .Fl n
293: option is specified, the address is printed numerically, according
294: to the address family.
1.21 aaron 295: .Pp
296: For more information regarding the Internet
297: .Dq dot format ,
1.1 deraadt 298: refer to
1.12 aaron 299: .Xr inet 3 .
1.34 jmc 300: Unspecified or
1.21 aaron 301: .Dq wildcard
302: addresses and ports appear as a single
1.34 jmc 303: .Sq * .
1.6 deraadt 304: If a local port number is registered as being in use for RPC by
1.12 aaron 305: .Xr portmap 8 ,
1.11 aaron 306: its RPC service name or RPC service number will be printed in
1.21 aaron 307: .Dq []
308: immediately after the port number.
1.1 deraadt 309: .Pp
310: The interface display provides a table of cumulative
311: statistics regarding packets transferred, errors, and collisions.
312: The network addresses of the interface
1.21 aaron 313: and the maximum transmission unit (MTU) are also displayed.
1.1 deraadt 314: .Pp
1.21 aaron 315: The routing table display indicates the available routes and their status.
316: Each route consists of a destination host or network and
317: a gateway to use in forwarding packets.
318: If the destination is a
319: network in numeric format, the netmask (in /24 style format) is appended.
320: The flags field shows a collection of information about
321: the route stored as binary choices.
322: The individual flags are discussed in more detail in the
1.1 deraadt 323: .Xr route 8
324: and
325: .Xr route 4
326: manual pages.
1.21 aaron 327: .Pp
1.1 deraadt 328: The mapping between letters and flags is:
329: .Bl -column XXXX RTF_BLACKHOLE
1.12 aaron 330: 1 RTF_PROTO1 Protocol specific routing flag #1.
331: 2 RTF_PROTO2 Protocol specific routing flag #2.
1.25 niklas 332: 3 RTF_PROTO3 Protocol specific routing flag #3.
1.16 aaron 333: B RTF_BLACKHOLE Just discard pkts (during updates).
1.12 aaron 334: C RTF_CLONING Generate new routes on use.
1.34 jmc 335: c RTF_CLONED Cloned routes (generated from RTF_CLONING).
1.12 aaron 336: D RTF_DYNAMIC Created dynamically (by redirect).
337: G RTF_GATEWAY Destination requires forwarding by intermediary.
338: H RTF_HOST Host entry (net otherwise).
1.1 deraadt 339: L RTF_LLINFO Valid protocol to link address translation.
1.12 aaron 340: M RTF_MODIFIED Modified dynamically (by redirect).
1.54 claudio 341: P RTF_MPATH Multipath route.
1.12 aaron 342: R RTF_REJECT Host or net unreachable.
343: S RTF_STATIC Manually added.
344: U RTF_UP Route usable.
345: X RTF_XRESOLVE External daemon translates proto to link address.
1.1 deraadt 346: .El
347: .Pp
1.21 aaron 348: Direct routes are created for each interface attached to the local host;
1.1 deraadt 349: the gateway field for such entries shows the address of the outgoing interface.
1.21 aaron 350: The refcnt field gives the current number of active uses of the route.
351: Connection oriented protocols normally hold on to a single route for the
352: duration of a connection while connectionless protocols obtain a route while
353: sending to the same destination.
354: The use field provides a count of the number of packets sent using that route.
355: The MTU entry shows the MTU associated with that route.
356: This MTU value is used as the basis for the TCP maximum segment size (MSS).
1.34 jmc 357: The
358: .Sq L
359: flag appended to the MTU value indicates that the value is
360: locked, and that path MTU discovery is turned off for that route.
1.21 aaron 361: A
1.1 deraadt 362: .Sq -
1.12 aaron 363: indicates that the MTU for this route has not been set, and a default
1.21 aaron 364: TCP maximum segment size will be used.
365: The interface entry indicates the network interface utilized for the route.
1.1 deraadt 366: .Pp
367: When
1.21 aaron 368: .Nm
1.1 deraadt 369: is invoked with the
370: .Fl w
371: option and a
372: .Ar wait
373: interval argument, it displays a running count of statistics related to
374: network interfaces.
375: An obsolescent version of this option used a numeric parameter
376: with no option, and is currently supported for backward compatibility.
377: This display consists of a column for the primary interface (the first
378: interface found during autoconfiguration) and a column summarizing
379: information for all interfaces.
380: The primary interface may be replaced with another interface with the
381: .Fl I
382: option.
383: The first line of each screen of information contains a summary since the
1.21 aaron 384: system was last rebooted.
385: Subsequent lines of output show values accumulated over the preceding interval.
1.1 deraadt 386: .Sh SEE ALSO
1.47 jmc 387: .Xr fstat 1 ,
1.1 deraadt 388: .Xr nfsstat 1 ,
389: .Xr ps 1 ,
1.47 jmc 390: .Xr systat 1 ,
1.53 jmc 391: .Xr tcpbench 1 ,
1.47 jmc 392: .Xr top 1 ,
1.34 jmc 393: .Xr inet 3 ,
1.21 aaron 394: .Xr netintro 4 ,
1.34 jmc 395: .Xr route 4 ,
1.1 deraadt 396: .Xr hosts 5 ,
397: .Xr networks 5 ,
398: .Xr protocols 5 ,
399: .Xr services 5 ,
1.15 alex 400: .Xr iostat 8 ,
1.34 jmc 401: .Xr portmap 8 ,
1.47 jmc 402: .Xr pstat 8 ,
1.34 jmc 403: .Xr route 8 ,
1.40 jmc 404: .Xr tcpdrop 8 ,
1.1 deraadt 405: .Xr trpt 8 ,
406: .Xr vmstat 8
407: .Sh HISTORY
408: The
1.21 aaron 409: .Nm
1.1 deraadt 410: command appeared in
411: .Bx 4.2 .
1.19 itojun 412: IPv6 support was added by WIDE/KAME project.
1.1 deraadt 413: .Sh BUGS
414: The notion of errors is ill-defined.