1 .\" Copyright (c) 1983, 1990, 1992, 1993
2 .\" The Regents of the University of California. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. Neither the name of the University nor the names of its contributors
13 .\" may be used to endorse or promote products derived from this software
14 .\" without specific prior written permission.
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" @(#)netstat.1 8.8 (Berkeley) 4/18/94
36 .Nd show network status and statistics
39 .Bl -tag -width "netstat"
43 .Op Fl f Ar protocol_family | Fl p Ar protocol
46 .It Nm Fl i | I Ar interface
49 .Op Fl f Ar address_family
62 .Op Fl f Ar protocol_family | Fl p Ar protocol
65 .It Nm Fl i | I Ar interface Fl s
68 .Op Fl f Ar protocol_family | Fl p Ar protocol
83 .Op Fl f Ar address_family
92 .Op Fl f Ar address_family
96 .Op Fl f Ar address_family
106 command symbolically displays the contents of various network-related
108 There are a number of output formats,
109 depending on the options for the information presented.
110 .Bl -tag -width indent
115 .Op Fl f Ar protocol_family | Fl p Ar protocol
120 Display a list of active sockets
121 (protocol control blocks)
122 for each network protocol.
124 The default display for active sockets shows the local
125 and remote addresses, send and receive queue sizes (in bytes), protocol,
126 and the internal state of the protocol.
127 Address formats are of the form
131 if a socket's address specifies a network but no specific host address.
132 When known, the host and network addresses are displayed symbolically
133 according to the databases
138 If a symbolic name for an address is unknown, or if
141 option is specified, the address is printed numerically, according
142 to the address family.
143 For more information regarding
151 addresses and ports appear as
153 .Bl -tag -width indent
157 in a selection of different human and machine readable formats.
160 for details on command line arguments.
164 .Sx GENERAL OPTIONS .
168 .Sx GENERAL OPTIONS .
170 Show the address of a protocol control block (PCB)
171 associated with a socket; used for debugging.
173 Show the state of all sockets;
174 normally sockets used by server processes are not shown.
176 Show the used TCP stack for each session.
178 Show the congestion control algorithm and diagnostic information of TCP sockets.
180 Show the size of the various listen queues.
181 The first count shows the number of unaccepted connections,
182 the second count shows the amount of unaccepted incomplete connections,
183 and the third count is the maximum number of queued connections.
185 Do not resolve numeric addresses and port numbers to names.
187 .Sx GENERAL OPTIONS .
189 Display the log ID for each socket.
191 Display the flowid and flowtype for each socket.
192 flowid is a 32 bit hardware specific identifier for each flow.
193 flowtype defines which protocol fields are hashed to produce the id.
194 A complete listing is available in
199 Show network addresses as numbers (as with
201 but show ports symbolically.
203 Display diagnostic information from the TCP control block.
204 Fields include the number of packets requiring retransmission,
205 received out-of-order, and those advertising a zero-sized window.
207 Avoid truncating addresses even if this causes some fields to overflow.
209 Display socket buffer and TCP timer statistics for each
216 to output all the information recorded about data
217 stored in the socket buffers.
219 .Bl -column ".Li R-HIWA"
220 .It Li R-HIWA Ta Receive buffer high water mark, in bytes.
221 .It Li S-HIWA Ta Send buffer high water mark, in bytes.
222 .It Li R-LOWA Ta Receive buffer low water mark, in bytes.
223 .It Li S-LOWA Ta Send buffer low water mark, in bytes.
224 .It Li R-BCNT Ta Receive buffer byte count.
225 .It Li S-BCNT Ta Send buffer byte count.
226 .It Li R-BMAX Ta Maximum bytes that can be used in the receive buffer.
227 .It Li S-BMAX Ta Maximum bytes that can be used in the send buffer.
228 .It Li rexmt Ta Time, in seconds, to fire Retransmit Timer, or 0 if not armed.
229 .It Li persist Ta Time, in seconds, to fire Retransmit Persistence, or 0 if not armed.
230 .It Li keep Ta Time, in seconds, to fire Keep Alive, or 0 if not armed.
231 .It Li 2msl Ta Time, in seconds, to fire 2*msl TIME_WAIT Timer, or 0 if not armed.
232 .It Li delack Ta Time, in seconds, to fire Delayed ACK Timer, or 0 if not armed.
233 .It Li rcvtime Ta Time, in seconds, since last packet received.
235 .It Fl f Ar protocol_family
237 .Ar protocol_family .
239 .Sx GENERAL OPTIONS .
244 .Sx GENERAL OPTIONS .
246 Use an alternative core.
248 .Sx GENERAL OPTIONS .
250 Use an alternative kernel image.
252 .Sx GENERAL OPTIONS .
257 .Fl i | I Ar interface
259 .Op Fl f Ar address_family
264 Show the state of all network interfaces or a single
266 which have been auto-configured
267 (interfaces statically configured into a system, but not
268 located at boot time are not shown).
271 after an interface name indicates that the interface is
281 it provides a table of cumulative
282 statistics regarding packets transferred, errors, and collisions.
283 The network addresses of the interface
284 and the maximum transmission unit
287 .Bl -tag -width indent
291 .Sx GENERAL OPTIONS .
295 .Sx GENERAL OPTIONS .
297 Multicast addresses currently in use are shown
298 for each Ethernet interface and for each IP interface address.
299 Multicast addresses are shown on separate lines following the interface
300 address with which they are associated.
302 Show the number of bytes in and out.
304 Show the number of dropped packets.
306 Print all counters in human readable form.
308 Do not resolve numeric addresses and port numbers to names.
310 .Sx GENERAL OPTIONS .
312 Avoid truncating addresses even if this causes some fields to overflow.
314 .Sx GENERAL OPTIONS .
315 .It Fl f Ar protocol_family
317 .Ar protocol_family .
319 .Sx GENERAL OPTIONS .
325 .Op Fl I Ar interface
334 seconds, display the information regarding packet traffic on all
335 configured network interfaces or a single
344 interval argument, it displays a running count of statistics related to
346 An obsolescent version of this option used a numeric parameter
347 with no option, and is currently supported for backward compatibility.
348 By default, this display summarizes information for all interfaces.
349 Information for a specific interface may be displayed with the
352 .Bl -tag -width indent
353 .It Fl I Ar interface
354 Only show information regarding
359 .Sx GENERAL OPTIONS .
363 .Sx GENERAL OPTIONS .
365 Show the number of dropped packets.
367 Use an alternative core.
369 .Sx GENERAL OPTIONS .
371 Use an alternative kernel image.
373 .Sx GENERAL OPTIONS .
384 .Op Fl f Ar protocol_family | Fl p Ar protocol
389 Display system-wide statistics for each network protocol.
390 .Bl -tag -width indent
394 .Sx GENERAL OPTIONS .
398 .Sx GENERAL OPTIONS .
402 is repeated, counters with a value of zero are suppressed.
404 Reset statistic counters after displaying them.
405 .It Fl f Ar protocol_family
407 .Ar protocol_family .
409 .Sx GENERAL OPTIONS .
414 .Sx GENERAL OPTIONS .
416 Use an alternative core.
418 .Sx GENERAL OPTIONS .
420 Use an alternative kernel image
422 .Sx GENERAL OPTIONS .
427 .Fl i | I Ar interface Fl s
429 .Op Fl f Ar protocol_family | Fl p Ar protocol
434 Display per-interface statistics for each network protocol.
435 .Bl -tag -width indent
439 .Sx GENERAL OPTIONS .
443 .Sx GENERAL OPTIONS .
447 is repeated, counters with a value of zero are suppressed.
448 .It Fl f Ar protocol_family
450 .Ar protocol_family .
452 .Sx GENERAL OPTIONS .
457 .Sx GENERAL OPTIONS .
459 Use an alternative core
461 .Sx GENERAL OPTIONS .
463 Use an alternative kernel image
465 .Sx GENERAL OPTIONS .
475 Show statistics recorded by the memory management routines
477 The network manages a private pool of memory buffers.
478 .Bl -tag -width indent
480 Use an alternative core
482 .Sx GENERAL OPTIONS .
484 Use an alternative kernel image
486 .Sx GENERAL OPTIONS .
493 .Op Fl I Ar interface
496 Show statistics about
499 This includes information like
500 how many packets have been matched, dropped and received by the
501 bpf device, also information about current buffer sizes and device
510 option represent the underlying parameters of the bpf peer.
512 represented as a single lower case letter.
513 The mapping between the letters and flags in order of appearance are:
515 .It Li p Ta Set if listening promiscuously
516 .It Li i Ta Dv BIOCIMMEDIATE No has been set on the device
517 .It Li f Ta Dv BIOCGHDRCMPLT No status: source link addresses are being
519 .It Li s Ta Dv BIOCGSEESENT No status: see packets originating locally and
520 remotely on the interface.
521 .It Li a Ta Packet reception generates a signal
522 .It Li l Ta Dv BIOCLOCK No status: descriptor has been locked
525 For more information about these flags, please refer to
527 .Bl -tag -width indent
529 Reset statistic counters after displaying them.
537 .Op Fl f Ar address_family
542 Display the contents of routing tables.
546 is invoked with the routing table option
548 it lists the available routes and their status.
549 Each route consists of a destination host or network, and a gateway to use
550 in forwarding packets.
551 The flags field shows a collection of information about the route stored
553 The individual flags are discussed in more detail in the
558 The mapping between letters and flags is:
559 .Bl -column ".Li W" ".Dv RTF_WASCLONED"
560 .It Li 1 Ta Dv RTF_PROTO1 Ta "Protocol specific routing flag #1"
561 .It Li 2 Ta Dv RTF_PROTO2 Ta "Protocol specific routing flag #2"
562 .It Li 3 Ta Dv RTF_PROTO3 Ta "Protocol specific routing flag #3"
563 .It Li B Ta Dv RTF_BLACKHOLE Ta "Just discard pkts (during updates)"
564 .It Li b Ta Dv RTF_BROADCAST Ta "The route represents a broadcast address"
565 .It Li D Ta Dv RTF_DYNAMIC Ta "Created dynamically (by redirect)"
566 .It Li G Ta Dv RTF_GATEWAY Ta "Destination requires forwarding by intermediary"
567 .It Li H Ta Dv RTF_HOST Ta "Host entry (net otherwise)"
568 .It Li L Ta Dv RTF_LLINFO Ta "Valid protocol to link address translation"
569 .It Li M Ta Dv RTF_MODIFIED Ta "Modified dynamically (by redirect)"
570 .It Li R Ta Dv RTF_REJECT Ta "Host or net unreachable"
571 .It Li S Ta Dv RTF_STATIC Ta "Manually added"
572 .It Li U Ta Dv RTF_UP Ta "Route usable"
573 .It Li X Ta Dv RTF_XRESOLVE Ta "External daemon translates proto to link address"
576 Direct routes are created for each
577 interface attached to the local host;
578 the gateway field for such entries shows the address of the outgoing interface.
579 The refcnt field gives the
580 current number of active uses of the route.
582 protocols normally hold on to a single route for the duration of
583 a connection while connectionless protocols obtain a route while sending
584 to the same destination.
585 The use field provides a count of the number of packets
586 sent using that route.
587 The interface entry indicates the network interface utilized for the route.
588 .Bl -tag -width indent
592 .Sx GENERAL OPTIONS .
596 .Sx GENERAL OPTIONS .
598 Do not resolve numeric addresses and port numbers to names.
600 .Sx GENERAL OPTIONS .
602 Show the path MTU for each route, and print interface names with a
605 Display the routing table with the number
612 the default routing table is displayed.
614 Display the routing table for a particular
617 Use an alternative core
619 .Sx GENERAL OPTIONS .
621 Use an alternative kernel image
623 .Sx GENERAL OPTIONS .
634 Display routing statistics.
635 .Bl -tag -width indent
639 is repeated, counters with a value of zero are suppressed.
641 Use an alternative core
643 .Sx GENERAL OPTIONS .
645 Use an alternative kernel image
647 .Sx GENERAL OPTIONS .
654 .Op Fl f Ar address_family
659 Display the contents of the multicast virtual interface tables,
660 and multicast forwarding caches.
661 Entries in these tables will appear only when the kernel is
662 actively forwarding multicast sessions.
663 This option is applicable only to the
668 .Bl -tag -width indent
672 .Sx GENERAL OPTIONS .
676 .Sx GENERAL OPTIONS .
678 Avoid truncating addresses even if this causes some fields to overflow.
679 .It Fl f Ar protocol_family
681 .Ar protocol_family .
683 .Sx GENERAL OPTIONS .
685 Use an alternative core
687 .Sx GENERAL OPTIONS .
689 Use an alternative kernel image
691 .Sx GENERAL OPTIONS .
698 .Op Fl f Ar address_family
703 Show multicast routing statistics.
704 .Bl -tag -width indent
708 .Sx GENERAL OPTIONS .
712 .Sx GENERAL OPTIONS .
716 is repeated, counters with a value of zero are suppressed.
717 .It Fl f Ar protocol_family
719 .Ar protocol_family .
721 .Sx GENERAL OPTIONS .
723 Use an alternative core
725 .Sx GENERAL OPTIONS .
727 Use an alternative kernel image
729 .Sx GENERAL OPTIONS .
740 The flags field shows available ISR handlers:
741 .Bl -column ".Li W" ".Dv NETISR_SNP_FLAGS_DRAINEDCPU"
742 .It Li C Ta Dv NETISR_SNP_FLAGS_M2CPUID Ta "Able to map mbuf to cpu id"
743 .It Li D Ta Dv NETISR_SNP_FLAGS_DRAINEDCPU Ta "Has queue drain handler"
744 .It Li F Ta Dv NETISR_SNP_FLAGS_M2FLOW Ta "Able to map mbuf to flow id"
748 Some options have the general meaning:
760 .It Fl f Ar address_family , Fl p Ar protocol
761 Limit display to those records
766 The following address families and protocols are recognized:
768 .Bl -tag -width ".Cm netgraph , ng Pq Dv AF_NETGRAPH" -compact
771 .It Cm inet Pq Dv AF_INET
772 .Cm divert , icmp , igmp , ip , ipsec , pim, sctp , tcp , udp
773 .It Cm inet6 Pq Dv AF_INET6
774 .Cm icmp6 , ip6 , ipsec6 , rip6 , sctp , tcp , udp
775 .It Cm pfkey Pq Dv PF_KEY
777 .It Cm netgraph , ng Pq Dv AF_NETGRAPH
779 .It Cm unix Pq Dv AF_UNIX
780 .It Cm link Pq Dv AF_LINK
783 The program will complain if
785 is unknown or if there is no statistics routine for it.
787 Extract values associated with the name list from the specified core
788 instead of the default
791 Extract the name list from the specified system instead of the default,
792 which is the kernel image the system has booted from.
794 Show network addresses and ports as numbers.
797 attempts to resolve addresses and ports,
798 and display them symbolically.
800 Wider output; expand address fields, etc, to avoid truncation.
801 Non-numeric values such as domain names may still be truncated; use the
803 option if necessary to avoid ambiguity.
806 Show packet traffic information (packets, bytes, errors, packet drops, etc) for
807 interface re0 updated every 2 seconds and exit after 5 outputs:
808 .Bd -literal -offset indent
809 $ netstat -w 2 -q 5 -I re0
812 Show statistics for ICMP on any interface:
813 .Bd -literal -offset indent
818 .Bd -literal -offset indent
822 Same as above, but without resolving numeric addresses and port numbers to
824 .Bd -literal -offset indent
834 .Xr xo_parse_args 3 ,
853 IPv6 support was added by WIDE/KAME project.
855 The notion of errors is ill-defined.