Capture and Process Packets
libpcap has several options for handling the capture and processing of packets. The three main functions for capturing and processing packets are shown in Table 10-4.
Table 10-4. libpcap packet-capture functions
|
Function |
Prototype |
Description |
|---|---|---|
pcap_next_ex |
int pcap_next_ex (pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data) |
Reads the next packet from the capture session, returning success or failure. The following values are returned:
If the packet was read, the |
pcap_dispatch |
int pcap_dispatch (pcap_t *p, int cnt, pcap_handler callback, u_char *user) |
Reads up to The user value is a user-specified value to be passed to the callback
function, and can be |
pcap_loop |
int pcap_loop (pcap_t *p, int cnt, pcap_handler callback, u_char *user) |
Reads |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access