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 size of the various listen queues.
177 The first count shows the number of unaccepted connections,
178 the second count shows the amount of unaccepted incomplete connections,
179 and the third count is the maximum number of queued connections.
181 Do not resolve numeric addresses and port numbers to names.
183 .Sx GENERAL OPTIONS .
185 Display the log ID for each socket.
187 Display the flowid and flowtype for each socket.
188 flowid is a 32 bit hardware specific identifier for each flow.
189 flowtype defines which protocol fields are hashed to produce the id.
190 A complete listing is available in
195 Show network addresses as numbers (as with
197 but show ports symbolically.
199 Display diagnostic information from the TCP control block.
200 Fields include the number of packets requiring retransmission,
201 received out-of-order, and those advertising a zero-sized window.
203 Avoid truncating addresses even if this causes some fields to overflow.
205 Display socket buffer and TCP timer statistics for each
212 to output all the information recorded about data
213 stored in the socket buffers.
215 .Bl -column ".Li R-MBUF"
216 .It Li R-MBUF Ta Number of mbufs in the receive queue.
217 .It Li S-MBUF Ta Number of mbufs in the send queue.
218 .It Li R-CLUS Ta Number of clusters, of any type, in the receive
220 .It Li S-CLUS Ta Number of clusters, of any type, in the send queue.
221 .It Li R-HIWA Ta Receive buffer high water mark, in bytes.
222 .It Li S-HIWA Ta Send buffer high water mark, in bytes.
223 .It Li R-LOWA Ta Receive buffer low water mark, in bytes.
224 .It Li S-LOWA Ta Send buffer low water mark, in bytes.
225 .It Li R-BCNT Ta Receive buffer byte count.
226 .It Li S-BCNT Ta Send buffer byte count.
227 .It Li R-BMAX Ta Maximum bytes that can be used in the receive buffer.
228 .It Li S-BMAX Ta Maximum bytes that can be used in the send buffer.
229 .It Li rexmt Ta Time, in seconds, to fire Retransmit Timer, or 0 if not armed.
230 .It Li persist Ta Time, in seconds, to fire Retransmit Persistence, or 0 if not armed.
231 .It Li keep Ta Time, in seconds, to fire Keep Alive, or 0 if not armed.
232 .It Li 2msl Ta Time, in seconds, to fire 2*msl TIME_WAIT Timer, or 0 if not armed.
233 .It Li delack Ta Time, in seconds, to fire Delayed ACK Timer, or 0 if not armed.
234 .It Li rcvtime Ta Time, in seconds, since last packet received.
236 .It Fl f Ar protocol_family
238 .Ar protocol_family .
240 .Sx GENERAL OPTIONS .
245 .Sx GENERAL OPTIONS .
247 Use an alternative core.
249 .Sx GENERAL OPTIONS .
251 Use an alternative kernel image.
253 .Sx GENERAL OPTIONS .
258 .Fl i | I Ar interface
260 .Op Fl f Ar address_family
265 Show the state of all network interfaces or a single
267 which have been auto-configured
268 (interfaces statically configured into a system, but not
269 located at boot time are not shown).
272 after an interface name indicates that the interface is
282 it provides a table of cumulative
283 statistics regarding packets transferred, errors, and collisions.
284 The network addresses of the interface
285 and the maximum transmission unit
288 .Bl -tag -width indent
292 .Sx GENERAL OPTIONS .
296 .Sx GENERAL OPTIONS .
298 Multicast addresses currently in use are shown
299 for each Ethernet interface and for each IP interface address.
300 Multicast addresses are shown on separate lines following the interface
301 address with which they are associated.
303 Show the number of bytes in and out.
305 Show the number of dropped packets.
307 Print all counters in human readable form.
309 Do not resolve numeric addresses and port numbers to names.
311 .Sx GENERAL OPTIONS .
313 Avoid truncating interface names 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"
749 Some options have the general meaning:
761 .It Fl f Ar address_family , Fl p Ar protocol
762 Limit display to those records
767 The following address families and protocols are recognized:
769 .Bl -tag -width ".Cm netgraph , ng Pq Dv AF_NETGRAPH" -compact
772 .It Cm inet Pq Dv AF_INET
773 .Cm divert , icmp , igmp , ip , ipsec , pim, sctp , tcp , udp
774 .It Cm inet6 Pq Dv AF_INET6
775 .Cm icmp6 , ip6 , ipsec6 , rip6 , sctp , tcp , udp
776 .It Cm pfkey Pq Dv PF_KEY
778 .It Cm netgraph , ng Pq Dv AF_NETGRAPH
780 .It Cm unix Pq Dv AF_UNIX
781 .It Cm link Pq Dv AF_LINK
784 The program will complain if
786 is unknown or if there is no statistics routine for it.
788 Extract values associated with the name list from the specified core
789 instead of the default
792 Extract the name list from the specified system instead of the default,
793 which is the kernel image the system has booted from.
795 Show network addresses and ports as numbers.
798 attempts to resolve addresses and ports,
799 and display them symbolically.
808 .Xr xo_parse_args 3 ,
828 IPv6 support was added by WIDE/KAME project.
830 The notion of errors is ill-defined.