2014-01-24 8 views
0

Я пытаюсь изучить библиотеку Pcap. В настоящее время я использую Windows-машину, поэтому загрузил пакет Winpcap Dev. Я хотел бы знать содержимое функции pcap_sendpacket. Я искал исходные файлы в пакете Winpcap Dev и только нашел функцию в файле заголовка, который не содержит тело функции. Я подозреваю, что функция определена в файле winpcap.dll, но я не могу найти исходный файл для этой DLL.Winpcap, DLL и с открытым исходным кодом

Вопрос в том, является ли проект Winpcap открытым исходным кодом, почему исходный код для всех файлов не публикуется создателями?

Я имею в виду, может быть, я чего-то не хватает, не знаю, я новичок.

Кстати, я нашел тело функции в библиотеке libpcap, но эта библиотека предназначена для Linux, а не для окон.

Благодарим за помощь!

+0

«Я нашел тело функции в библиотеке libpcap, но эта библиотека предназначена для Linux, а не для окон». Нет, libpcap для многих разных UN \ * Xes - см. Различные файлы pcap-XXX.c. * Часть * WinPcap также существует, а именно «pcap-win32.c», но это вызывает в библиотеке «Packet.dll», источник которой находится в источнике WinPcap. Обратите внимание, что Packet.dll, в свою очередь, делает системные вызовы * драйверу устройства *, источник которого также находится в источнике WinPcap; этот драйвер использует NDIS, источник которого находится в Microsoft :-), но API-интерфейсы, для которых документированы. –

+0

Можете указать, в каком файле: «Обратите внимание, что Packet.dll, в свою очередь, делает системные вызовы драйверу устройства« И если вы можете рекомендовать книгу обо всем этом, что касается системных вызовов и DLL. Спасибо. –

+0

Исходный код для Packet.dll находится в каталоге 'packageNtx \ Dll' источника WinPcap (или, если вы читаете его в UN \ * X, а не в Windows, в каталоге' packageNtx/Dll'). Исходный код для драйвера находится в каталоге 'packageNtx \ driver' источника WinPcap (или, если вы читаете его в UN \ * X, а не в Windows, в каталоге' packageNtx/driver'). –

ответ

0

Скачано 4.1beta5_WpcapSrc.zip от http://www.winpcap.org/archive/ и оно содержит полный исходный код. Функция, о которой вы говорите, pcap_sendpacket определена в wpcap\libpcap\pcap.c.

+0

Это становится более запутанным. Я скачал этот пакет: http://www.winpcap.org/install/bin/WpdPack_4_1_2.zip , которая очень отличается от той, вы публикуемых. Теперь я не знаю, каковы различия между обоими пакетами. В пакете, который я скачал, если вы видите файл pcap.c, функция не определена. –

+0

Файл WpdPack является пакетом разработчика; он включает в себя то, что вам нужно для разработки программного обеспечения для использования WinPcap, но оно не включает * источник WinPcap. Вы хотите получить исходный код WinPcap 4.1.3 *, по адресу http://www.winpcap.org/install/bin/WpcapSrc_4_1_3.zip. –

Смежные вопросы