---
name: "pcap_lookupdev"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/pcap_lookupdev"
---

# pcap\_lookupdev(3)

find the default device on which to capture

## NAME

pcap\_lookupdev - find the default device on which to capture

## SYNOPSIS

```
#include <pcap/pcap.h>
```

```
char errbuf[PCAP_ERRBUF_SIZE];
```

**\[DEPRECATED\] char \*pcap\_lookupdev(char \*errbuf);**

## DESCRIPTION

**This interface is obsoleted by** [**pcap\_findalldevs**(3)](/pcap_findalldevs/3.md). To find a default device on which to capture, call **pcap\_findalldevs**() and, if the list it returns is not empty, use the first device in the list.  (If the list is empty, there are no devices on which capture is possible.) *errbuf* is a buffer large enough to hold at least **PCAP\_ERRBUF\_SIZE** chars.

**If** [**pcap\_init**(3)](/pcap_init/3.md) **has been called, this interface always returns** **NULL**.

**pcap\_lookupdev**() returns a pointer to a string giving the name of a network device suitable for use with [**pcap\_create**(3)](/pcap_create/3.md) and [**pcap\_activate**(3)](/pcap_activate/3.md), or with [**pcap\_open\_live**(3)](/pcap_open_live/3.md), and with [**pcap\_lookupnet**(3)](/pcap_lookupnet/3.md). If there is an error, or if [**pcap\_init**(3)](/pcap_init/3.md) has been called, **NULL** is returned and *errbuf* is filled in with an appropriate error message.

## SEE ALSO

[**pcap**(3)](/pcap/3.md)

## BUGS

The pointer returned by **pcap\_lookupdev**() points to a static buffer; subsequent calls to **pcap\_lookupdev**() in the same thread, or calls to **pcap\_lookupdev**() in another thread, may overwrite that buffer.

In WinPcap and Npcap, this function may return a UTF-16 string rather than an ASCII or UTF-8 string.
