Пример #1
0
int main(int argc, char* argv[])
{
  init();

  pcap_start("init.pcap");
  ping();
  handshake();
  pcap_stop();
  return 0;
}
Пример #2
0
void find_rtp(const char *filename, void (*rtp_cb)(const struct rtp_hdr *rtp, size_t len))
{
    const uint8_t *packet;
    struct pcap_pkthdr header;
    int i;

    pcap_t *handle = pcap_start(filename);
    int datalink = pcap_datalink(handle);

    for (i = 1; (packet = pcap_next(handle, &header)); ++i) {
        const struct rtp_hdr *rtp = NULL;

        parse_packet(datalink, packet, &rtp);

        size_t payload_len = header.caplen - ((const uint8_t *)rtp - packet);
        rtp_cb(rtp, payload_len);
    }

    pcap_close(handle);
}