Hello, <br>&nbsp;&nbsp;&nbsp; It seems that getting the device&#39;s IP from pcap_findalldevs changed from XP to VISTA.<br>&nbsp;&nbsp; <b><span style="color: rgb(204, 0, 0);">((struct sockaddr_in *)(d-&gt;addresses-&gt;addr))-&gt;sin_addr.S_un.S_addr;</span></b><br>
&nbsp;&nbsp; is returning 0 in Vista. Did this struct change in Vista because of IPv6 or something?<br><br><br>&nbsp;&nbsp;&nbsp; pcap_findalldevs(&amp;alldevs, errbuf)<br>&nbsp;&nbsp;&nbsp; /* Print the list */<br>&nbsp;&nbsp;&nbsp; for(d=alldevs; d; d=d-&gt;next)<br>&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; i++;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (d-&gt;description) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; printf(&quot; (%s)\n&quot;, d-&gt;description);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b><span style="color: rgb(204, 0, 0);">srcIP = ((struct sockaddr_in *)(d-&gt;addresses-&gt;addr))-&gt;sin_addr.S_un.S_addr;</span><br style="color: rgb(204, 0, 0);">
<span style="color: rgb(204, 0, 0);">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; srcNetMask = ((struct sockaddr_in *)(d-&gt;addresses-&gt;netmask))-&gt;sin_addr.S_un.S_addr;</span></b><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>