[Winpcap-users] pcap_next_ex() not receiving packets

Gianluca Varenni gianluca.varenni at cacetech.com
Tue Jul 1 16:43:48 GMT 2008

Which capture filter do you use? Also, do you capture any packet if you set promiscuous mode on (setting the promiscuous parameter of pcap_open_live to 1)?

Have a nice day
  ----- Original Message ----- 
  From: Ryan Fowler 
  To: winpcap-users at winpcap.org 
  Sent: Tuesday, July 01, 2008 6:47 AM
  Subject: [Winpcap-users] pcap_next_ex() not receiving packets



  I am trying to receive packets using pcap_next_ex(), but for some reason I keep getting a timeout.  I know that packets are coming into the machine because I can see them via WinDump.  The odd part is that when I run WinDump concurrently with my test application, I start to see packets in the test app (as well as in WinDump).  But without WinDump, I get no packets on the test app at all.


  I am guessing that there is something I need to do to "start" the packet driver capturing, although I thought that's what pcap_open_live does, so I'm not quite sure on that.


  My code so far is a fairly liberal sampling of the pktdump_ex example:


        /* Open the adapter */

        if ((m_pSessionHandle = pcap_open_live(m_pReceiveDevice->name,    // name of the device

                                      65536,      // 65536 means the whole packet will be captured.

                                      0,    // non promiscuous mode (nonzero means promiscuous)

                                      1000,       // read timeout

                                      errbuf      // error buffer)) == NULL)


                          // Error code



        std::cout << "Filter: " << m_strFilter << std::endl;

        if ( !m_strFilter.empty() )


              bpf_u_int32 NetMask = 0;

              struct bpf_program fcode;


              //compile the filter

              if(pcap_compile(m_pSessionHandle, &fcode, const_cast<char*>(m_strFilter.c_str()), 1, NetMask) < 0)


                    // Error code



              //set the filter

              if(pcap_setfilter(m_pSessionHandle, &fcode)<0)


                    // Error code




        /* At this point, we don't need the device list any more. Free it */



  And later on:


        while((res = pcap_next_ex( m_pSessionHandle, &header, &pkt_data)) >= 0)


              if(res == 0)


                    /* Timeout elapsed */

                    OutputDebugString(L"No packets!\n");







  Ryan Fowler
  Software Engineer

  Thomson Reuters 


  Winpcap-users mailing list
  Winpcap-users at winpcap.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winpcap.org/pipermail/winpcap-users/attachments/20080701/779699f9/attachment-0001.htm

More information about the Winpcap-users mailing list