Cómo configurar el entorno de desarrollo winPcap en VC
1. Descargue el paquete de instalación de winpcap y el paquete de desarrollo del programador (dos paquetes)
2 (dos paquetes)
2. Ejecute el paquete de instalación para que su máquina pueda ejecutar el programa winpcap
3. Descomprima el paquete de desarrollo y agregue el include y lib de winpcap al include y lib de la opción VC
. 4. Importe wpcap.lib y Packet.lib a la configuración del proyecto.
Uso de winpcap en VC .net
1 Incluya el directorio WinPcap Include en el directorio de inclusiones adicionales de la pestaña Proyecto-〉Propiedades-〉C-〉General
<. p>2. Agregar archivo de biblioteca libPasos para crear una aplicación en VC.net de Microsoft usando wpcap.dll
3.dll Los pasos para crear una aplicación son los siguientes:
Al comienzo de todos los archivos fuente que necesitan llamar a las funciones y funciones de la biblioteca de enlaces dinámicos wpcap.dll, consulte el archivo de encabezado ppcap.h;
Al comienzo de todos los archivos fuente que necesitan llamar a la biblioteca de enlaces dinámicos wpcap.dll Para conocer las funciones y funciones al comienzo del archivo fuente, consulte el archivo de encabezado ppcap.h. dll funciones de biblioteca de enlace dinámico;
Si la aplicación utiliza funciones de Winpcap relacionadas con Win32, recuerde hacer referencia a WPCAP en la definición de preprocesamiento;
Establezca la opción de conexión de compilación Enlace para incluir wpcap Archivo de biblioteca .lib, que se puede encontrar en el parche de desarrollo de Winpcap;
Establezca las opciones de compilación y conexión para incluir funciones de la biblioteca winsock (como wsock32.lib). Este archivo lo proporciona el compilador de C y contiene las funciones de socket en el entorno de Windows y también lo requieren algunas funciones de libpcap.
Recuerde también:
Para agregar una definición de preprocesador, debe seleccionar Configuración en el menú Proyecto, Páginas C/C en el control de pestaña y en el cuadro desplegable Categoría Seleccionar General y agregue una predefinición en el cuadro de texto Definición de preprocesador.
Para agregar un nuevo enlace de biblioteca en un proyecto de Microsoft V C, debe seleccionar Configuración en el menú Proyecto, luego seleccionar Enlaces en el control de pestaña y luego agregar el nuevo enlace de biblioteca que desea agregar en el Cuadro de edición de módulos de objetos/biblioteca El nombre de la biblioteca vinculada.
Para agregar una nueva ruta de búsqueda de archivos de biblioteca en un proyecto de Microsoft VC, debe seleccionar "Opciones" en el menú "Herramientas", luego seleccionar la página "Directorio" en el control de pestaña y en el menú " Mostrar directorio" y, en el cuadro de lista Directorio, agregue el nombre de la nueva biblioteca vinculada a la ruta del archivo de biblioteca que desea agregar.
Para agregar una ruta a Microsoft VC para que el compilador pueda encontrar los archivos incluidos, seleccione Opciones en el menú Herramientas, seleccione la página Directorio en el control de pestañas, seleccione Archivos incluidos en el cuadro desplegable Mostrar directorio y agregue la ruta al archivo de biblioteca que desea incluir en el cuadro de lista Directorio. Agregue las rutas a los archivos de encabezado que desea incluir en el cuadro de lista Directorios.
I) Primero instale el controlador winpcap, que se puede descargar desde el sitio web oficial de winpcap: http://www.winpcap.org/install/default.htm
Después de instalar el Controlador winpcap:
1. Generado automáticamente en el directorio C:\WINDOWS\system32: wpcap.dll, paquete.dll
2. Directorio \drivers: npf .sys
(2) Configurar el entorno winpcap-4.0.3:
Seleccione Propiedades de configuración en project-gt; Propiedades XX:
1. c/ c -gt; Directorio de inclusión normal\adicional: D:\WpdPack-4.0.3\Include
-gt; Preprocesador/Definición de preprocesador: WPCAP
2. -gt; Regular (directorio de biblioteca adicional): D:\WpdPack-4.0.3\Lib.4.0.3\Lib
-gt; Entrada\Dependencias adicionales: Packet.lib wpcap.lib ws2_32.lib
(c) Cree un nuevo proyecto de consola WIN32 vacío y agregue el archivo c:
#include "pcap.h"
int main() p>
{
pcap_if_t *alldevs;
pcap_if_t *d
int
int i=0;
pcap_t *adhandle;
int res;
char errbuf[PCAP_ERRBUF_SIZE];
struct tm *ltime;
char timestr[16];
struct pcap_pkthdr *header;
const u_char *pkt_data
time_t local_tv_sec;
/* Leer la lista de dispositivos*/
if(pcap_findalldevs(amp; alldevs, errbuf) == -1)
{
fprintf(stderr, " Error en pcap_findalldevs: s\n", errbuf);
Devuelve -1;
}
/* Imprimir lista*/
for(d=alldevs; d; d=d-gt;siguiente)
{
printf("d.s", i, d-gt;nombre);
if (d-gt; descripción)
printf(" (s)\n", d-gt; descripción);
else
printf(" (No hay descripción disponible)\n");
}
if(i==0)
{
principe
tf("/nNo se encontraron interfaces. Asegúrese de que WinPcap esté instalado./n");
return
}
printf("Ingrese el número de interfaz (1-d): ", i);
scanf("d", amp; inum);
if( inum lt; 1 || inum gt; i )
{
printf("/nNúmero de interfaz fuera de rango.\n");
/* Liberar la lista de dispositivos*/
pcap_freealldevs( alldevs);
return -1;
}
/* Saltar al adaptador seleccionado*/
for(d=alldevs, i=0; ilt; inum-1; d=d-gt; next, i);
/* Abrir adaptador*/
if ( ( adhandle= pcap_open_live(d-gt; name, // Nombre del dispositivo
65536, // Parte del paquete a capturar.
// 65536 significa que se capturará en todos MAC Capture el paquete completo en
1, // Modo espurio (distinto de cero significa espurio)
1000, // Tiempo de espera de lectura
errbuf // Error buffer
)) == NULL)
{
fprintf(stderr, "\nNo se puede abrir el adaptador. WinPcap no lo admite \n" , d-gt; nombre);
/* Lista de dispositivos de liberación*/
pcap_freealldevs(alldevs);
return -1;
p >}
printf("\nescuchando.... s... \n", d-gt; descripción);
/* En este momento, Ya no necesitamos una lista de dispositivos. Liberarlo */
pcap_freealldevs(alldevs);
/* Recuperar el paquete */
/* El paquete no está en la lista.
Recuperar paquete */
while((res = pcap_next_ex(adhandle, amp;header, amp;pkt_data)) gt;= 0){
if(res == 0)
/* Tiempo de espera agotado*/
continuar;
/* Convertir marca de tiempo a formato legible*/
local_tv_sec = header-gt; ts.tv_sec;
ltime= localtime(amp;local_tv_sec);
strftime(timestr, sizeof timestr, "H:M:S", ltime);
printf("s, .6d len: d\n", timestr, header-gt; ts.tv_usec, header-gt; len);
}
if( res == -1){
printf("Error al leer los paquetes: s\n", pcap_geterr(adhandle) );
return -1;
p>}
pcap_close(adhandle);
return 0;
}
¡Compila y ejecuta!
(c) Agregar Herramientas\Opciones\Proyectos\VC Project\Ejecutable: D:\WpdPack-4.0.3\Include D:\WpdPack-4.0.3\Lib
D:\WpdPack-4.0.3\Include (archivos incluidos) y D:\WpdPack-4.0.3\Lib (archivos de biblioteca)