ошибка сегментации при записи пакета в файл pcap

Я пытаюсь записать выходные пакеты из нашего приложения в файл pcap, используя библиотеку pcap, но я получаю ошибку сегментации при вызове pcap_dump

Я попытался написать следующую небольшую программу, которая в основном воспроизводит мою проблему

int main()
{
pcap_t *m_p;
pcap_dumper_t *m_pd;
m_p = pcap_open_dead ( DLT_RAW, 65535 );

m_pd = pcap_dump_open ( m_p, ( char * ) "abc.pcap" );

char a[100] = "\0";
strcpy(a,"name");
struct pcap_pkthdr p;
p.caplen = strlen(a) + 1;
p.len = p.caplen;

pcap_dump ( ( u_char * ) m_p, &p, ( u_char * )  a );

pcap_close(m_p);
pcap_dump_close(m_pd);

return 0;
}

Ниже приводится Bt ядра, которое я получаю

gdb) bt
#0  0x00007f74e6d0df5d in fwrite () from /lib64/libc.so.6
#1  0x00007f74e77c9bfd in pcap_dump () from /usr/lib64/libpcap.so.1
#2  0x000000000040084e in main () at mypacp.cc:17

Может кто-нибудь сказать мне, что я скучаю.

Спасибо

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]