У меня есть программа, написанная на C ++, и я должен преобразовать ее в C #.
Эта программа читает некоторые файлы pcap.
Я добавил ссылку на библиотеку PcapDotNet в моем новом проекте на C #, но типы не такие, как в C ++, например:
pcap_t *fp;
char[] errbuf = new char[PCAP_ERRBUF_SIZE];
pcap_pkthdr header;
Поэтому я не знаю, каков наилучший способ продолжить, найти соответствующие типы с помощью C # или импортировать DLL. На самом деле я обнаружил, что многие делают это следующим образом:
//pcap_t *fp;
[DllImport("wpcap.dll")]
static extern int fp;
но сейчас это не работает, и это дает мне ошибку.
Он не видит DllImport и говорит, что ;
отсутствует, то также в строке ниже написано Invalid expression term 'static'
а также ';' expected
,
Дело в том, что у меня нет никаких устройств или чего-то еще, оригинальная программа на C ++ просто читает эти файлы pcap, извлекает данные и делает с ними что-то еще.
Если вы хотите использовать Pcap.Net Чтобы прочитать файлы pcap, вы можете просто следовать инструкциям в Pcap.Net Руководство пользователя.
В частности, см. «Чтение пакетов из файла дампа». Вот.