PCAP\_LOOKUPDEV(3PCAP) PCAP\_LOOKUPDEV(3PCAP)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

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

```


char errbuf[PCAP_ERRBUF_SIZE];
```

```
[DEPRECATED] char *pcap_lookupdev(char *errbuf);
```

# [DESCRIPTION](#DESCRIPTION)

**This interface is obsoleted by** [**pcap\_findalldevs**(3PCAP)](/man/os/libpcap/pcap_findalldevs.3PCAP). 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**(3PCAP)](/man/os/libpcap/pcap_init.3PCAP) **has been called, this interface always returns** a null pointer.

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

# [SEE ALSO](#SEE_ALSO)

[**pcap**(3PCAP)](/man/os/libpcap/pcap.3PCAP)

# [BUGS](#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.

6 September 2026

---

Document: pcap_lookupdev(3pcap) from libpcap 1.11.0-r0 (Chainguard OS)
Source: https://github.com/the-tcpdump-group/libpcap.git
