|
Packit |
209cc3 |
.\" Copyright (c) 1994, 1996, 1997
|
|
Packit |
209cc3 |
.\" The Regents of the University of California. All rights reserved.
|
|
Packit |
209cc3 |
.\"
|
|
Packit |
209cc3 |
.\" Redistribution and use in source and binary forms, with or without
|
|
Packit |
209cc3 |
.\" modification, are permitted provided that: (1) source code distributions
|
|
Packit |
209cc3 |
.\" retain the above copyright notice and this paragraph in its entirety, (2)
|
|
Packit |
209cc3 |
.\" distributions including binary code include the above copyright notice and
|
|
Packit |
209cc3 |
.\" this paragraph in its entirety in the documentation or other materials
|
|
Packit |
209cc3 |
.\" provided with the distribution, and (3) all advertising materials mentioning
|
|
Packit |
209cc3 |
.\" features or use of this software display the following acknowledgement:
|
|
Packit |
209cc3 |
.\" ``This product includes software developed by the University of California,
|
|
Packit |
209cc3 |
.\" Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
|
|
Packit |
209cc3 |
.\" the University nor the names of its contributors may be used to endorse
|
|
Packit |
209cc3 |
.\" or promote products derived from this software without specific prior
|
|
Packit |
209cc3 |
.\" written permission.
|
|
Packit |
209cc3 |
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
|
Packit |
209cc3 |
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
|
Packit |
209cc3 |
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
Packit |
209cc3 |
.\"
|
|
Packit |
209cc3 |
.TH PCAP_STATS 3PCAP "25 July 2018"
|
|
Packit |
209cc3 |
.SH NAME
|
|
Packit |
209cc3 |
pcap_stats \- get capture statistics
|
|
Packit |
209cc3 |
.SH SYNOPSIS
|
|
Packit |
209cc3 |
.nf
|
|
Packit |
209cc3 |
.ft B
|
|
Packit |
209cc3 |
#include <pcap/pcap.h>
|
|
Packit |
209cc3 |
.ft
|
|
Packit |
209cc3 |
.LP
|
|
Packit |
209cc3 |
.ft B
|
|
Packit |
209cc3 |
int pcap_stats(pcap_t *p, struct pcap_stat *ps);
|
|
Packit |
209cc3 |
.ft
|
|
Packit |
209cc3 |
.fi
|
|
Packit |
209cc3 |
.SH DESCRIPTION
|
|
Packit |
209cc3 |
.B pcap_stats()
|
|
Packit |
209cc3 |
fills in the
|
|
Packit |
209cc3 |
.B struct pcap_stat
|
|
Packit |
209cc3 |
pointed to by its second argument. The values represent
|
|
Packit |
209cc3 |
packet statistics from the start of the run to the time of the call.
|
|
Packit |
209cc3 |
.PP
|
|
Packit |
209cc3 |
.B pcap_stats()
|
|
Packit |
209cc3 |
is supported only on live captures, not on ``savefiles''; no statistics
|
|
Packit |
209cc3 |
are stored in ``savefiles'', so no statistics are available when reading
|
|
Packit |
209cc3 |
from a ``savefile''.
|
|
Packit |
209cc3 |
.PP
|
|
Packit |
209cc3 |
A
|
|
Packit |
209cc3 |
.B struct pcap_stat
|
|
Packit |
209cc3 |
has the following members:
|
|
Packit |
209cc3 |
.RS
|
|
Packit |
209cc3 |
.TP
|
|
Packit |
209cc3 |
.B ps_recv
|
|
Packit |
209cc3 |
number of packets received;
|
|
Packit |
209cc3 |
.TP
|
|
Packit |
209cc3 |
.B ps_drop
|
|
Packit |
209cc3 |
number of packets dropped because there was no room in the operating
|
|
Packit |
209cc3 |
system's buffer when they arrived, because packets weren't being read
|
|
Packit |
209cc3 |
fast enough;
|
|
Packit |
209cc3 |
.TP
|
|
Packit |
209cc3 |
.B ps_ifdrop
|
|
Packit |
209cc3 |
number of packets dropped by the network interface or its driver.
|
|
Packit |
209cc3 |
.RE
|
|
Packit |
209cc3 |
.PP
|
|
Packit |
209cc3 |
The statistics do not behave the same way on all platforms.
|
|
Packit |
209cc3 |
.B ps_recv
|
|
Packit |
209cc3 |
might count packets whether they passed any filter set with
|
|
Packit |
209cc3 |
.BR pcap_setfilter (3PCAP)
|
|
Packit |
209cc3 |
or not, or it might count only packets that pass the filter.
|
|
Packit |
209cc3 |
It also might, or might not, count packets dropped because there was no
|
|
Packit |
209cc3 |
room in the operating system's buffer when they arrived.
|
|
Packit |
209cc3 |
.B ps_drop
|
|
Packit |
209cc3 |
is not available on all platforms; it is zero on platforms where it's
|
|
Packit |
209cc3 |
not available. If packet filtering is done in libpcap, rather than in
|
|
Packit |
209cc3 |
the operating system, it would count packets that don't pass the filter.
|
|
Packit |
209cc3 |
Both
|
|
Packit |
209cc3 |
.B ps_recv
|
|
Packit |
209cc3 |
and
|
|
Packit |
209cc3 |
.B ps_drop
|
|
Packit |
209cc3 |
might, or might not, count packets not yet read from the operating
|
|
Packit |
209cc3 |
system and thus not yet seen by the application.
|
|
Packit |
209cc3 |
.B ps_ifdrop
|
|
Packit |
209cc3 |
might, or might not, be implemented; if it's zero, that might mean that
|
|
Packit |
209cc3 |
no packets were dropped by the interface, or it might mean that the
|
|
Packit |
209cc3 |
statistic is unavailable, so it should not be treated as an indication
|
|
Packit |
209cc3 |
that the interface did not drop any packets.
|
|
Packit |
209cc3 |
.SH RETURN VALUE
|
|
Packit |
209cc3 |
.B pcap_stats()
|
|
Packit |
209cc3 |
returns 0 on success and returns
|
|
Packit |
209cc3 |
.B PCAP_ERROR
|
|
Packit |
209cc3 |
if there is an error or if
|
|
Packit |
209cc3 |
.I p
|
|
Packit |
209cc3 |
doesn't support packet statistics. If
|
|
Packit |
209cc3 |
.B PCAP_ERROR
|
|
Packit |
209cc3 |
is returned,
|
|
Packit |
209cc3 |
.B pcap_geterr(3PCAP)
|
|
Packit |
209cc3 |
or
|
|
Packit |
209cc3 |
.B pcap_perror(3PCAP)
|
|
Packit |
209cc3 |
may be called with
|
|
Packit |
209cc3 |
.I p
|
|
Packit |
209cc3 |
as an argument to fetch or display the error text.
|
|
Packit |
209cc3 |
.SH SEE ALSO
|
|
Packit |
209cc3 |
pcap(3PCAP)
|