<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 9pt;
font-family:±¼¸²
}
--></style>
</head>
<body class='hmmessage'>
<span class="Apple-style-span" style="font-family: AppleGothic, Tahoma, sans-serif; line-height: 19px; "><div><div>Hi, tips for WinPcap users.</div><div>Whenever you use WinPcap, you are forced to select a specific network adapter to capture packets.</div><div>This sample shows you how to select the best network adapter automatically by using "GetBestInteface" win32 API.</div><div>I wish I could help you.</div><div>Thank you.</div><div><br></div><div>pcap_if_t* findBestAdapter(PIP_ADAPTER_INFO allIPAdaptersInfo, pcap_if_t* alldevs)</div><div>{</div><div>&nbsp;&nbsp;DWORD &nbsp;bestIfIndex;</div><div>&nbsp;&nbsp;IPAddr ipAddr = htonl(0x08080808); // "8.8.8.8" is well-knowon Google DNS Server IP.</div><div>&nbsp;&nbsp;DWORD res = GetBestInterface(ipAddr, &amp;bestIfIndex);</div><div>&nbsp;&nbsp;if (res != NO_ERROR)</div><div>&nbsp;&nbsp;{</div><div>&nbsp;&nbsp; &nbsp;printf("GetBestInterface return %d", res);</div><div>&nbsp;&nbsp; &nbsp;return NULL;</div><div>&nbsp;&nbsp;}</div><div>&nbsp;</div><div>&nbsp;&nbsp;PIP_ADAPTER_INFO p = allIPAdaptersInfo;</div><div>&nbsp;&nbsp;while (p != NULL)</div><div>&nbsp;&nbsp;{</div><div>&nbsp;&nbsp; &nbsp;if (bestIfIndex == p-&gt;Index) break;</div><div>&nbsp;&nbsp; &nbsp;p = p-&gt;Next;</div><div>&nbsp;&nbsp;}</div><div>&nbsp;&nbsp;if (p == NULL)</div><div>&nbsp;&nbsp;{</div><div>&nbsp;&nbsp; &nbsp;printf("Can not find appropriate system adapter\n");</div><div>&nbsp;&nbsp; &nbsp;return NULL;</div><div>&nbsp;&nbsp;}</div><div>&nbsp;</div><div>&nbsp;&nbsp;pcap_if_t *d = alldevs;</div><div>&nbsp;&nbsp;while (d != NULL)</div><div>&nbsp;&nbsp;{</div><div>&nbsp;&nbsp; &nbsp;if (strstr(d-&gt;name, p-&gt;AdapterName) != NULL)</div><div>&nbsp;&nbsp; &nbsp; &nbsp;break;</div><div>&nbsp;&nbsp;}</div><div>&nbsp;&nbsp;if (d == NULL)</div><div>&nbsp;&nbsp;{</div><div>&nbsp;&nbsp; &nbsp;printf("Can not find appropriate winpcap adapter\n");</div><div>&nbsp;&nbsp; &nbsp;return NULL;</div><div>&nbsp;&nbsp;}</div><div>&nbsp;&nbsp;return d;</div><div>}</div><div><br></div><div>You can download samples at&nbsp;<a href="http://www.gilgil.net/3550">http://www.gilgil.net/3550</a>&nbsp;.</div></div></span>                                               </body>
</html>