Enviado em 01/01/2020 - 16:25h
Não consigo entender porque o código está dando falha de segmentação, está igual ao exemplo que peguei. O que causa esses erros ? Segue o código.#include <stdio.h>
#include <pcap.h>
#include <time.h>
#include <netinet/in.h>
#include <netinet/if_ether.h>
void print_packet_info(const u_char *packet, struct pcap_pkthdr packet_header);
int main(int argc, char const *argv[])
{
char *device;
char error_buffer[PCAP_ERRBUF_SIZE];
pcap_t *handle;
const u_char *packet;
struct pcap_pkthdr packet_header;
int packet_count_limit = 1;
int timeout_limit = 10000; //tempo em milisegundos
device = pcap_lookupdev(error_buffer);
if (device == NULL)
{
printf("Erro ao encontrar dispositivo: %s\n", error_buffer);
return 1;
}
//abrindo o dispositivo para captura
handle = pcap_open_live(device, BUFSIZ, packet_count_limit, timeout_limit, error_buffer);
//O código captura um pacote. Se não houver tráfico na rede e o tempo for atingido, será retornado NULL
packet = pcap_next(handle, &packet_header);
if (packet == NULL)
{
printf("Nenhum pacote encontrado. \n");
return 2;
}
print_packet_info(packet, packet_header);
return 0;
}
void print_packet_info(const u_char *packet, struct pcap_pkthdr packet_header)
{
printf("Tamanho capturado do pacote: %d\n", packet_header.caplen);
printf("Tamanho total do pacote: %d\n", packet_header.len);
}
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
como instalo panfrost-dri e o driver panfrost fork , ou panfrost (16)
problema no debian que poderia ser corrigido por comando? (12)
Usar uma VM dentro do meu notebook como firewall para um dispositivo e... (0)
Eu tive esse erro aqui depois de de baixar o HyprLand Ubuntu na versão... (1)