---
name: "pcap_lookupdev"
section: "3pcap"
platform: "linux"
package: "libpcap"
version: "1.11.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/pcap_lookupdev/3pcap"
---

# pcap\_lookupdev(3pcap)

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**(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) **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) and **pcap\_activate**(3PCAP), or with **pcap\_open\_live**(3PCAP), and with **pcap\_lookupnet**(3PCAP). If there is an error, or if **pcap\_init**(3PCAP) has been called, a null pointer is returned and *errbuf* is filled in with an appropriate error message.

## SEE ALSO

**pcap**(3PCAP)

## 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.
