-
Как правильно в Delphi использовать функцию pcap_compile т.е. если можно небольшой пример
-
Сергей М. © (09.09.09 08:18) [1]А как ее можно использовать неправильно ?
Приведи пример.. -
DLLHandle:=LoadLibrary('wpcap.dll');
if DLLHandle=0 then
exit;//Библиотека не загрузилась
@pln:=GetProcAddress(DLLHandle, 'pcap_lookupnet');
@comp:=GetProcAddress(DLLHandle, 'pcap_compile');
@pcf:=GetProcAddress(DLLHandle, 'pcapsetfilter');
if (@comp=nil)or(@pln=nil)or(@pcf=nil) then
exit;//Функция не найдена
//Здесь узнаем номер сети и маску
pln(pChar(AdapterName),netp,maskp,pChar(ebuff));
//получаем указ.
pp:=PCap_open_live(_monWinPCap.AdapterNameList[1],0,false,0,err_str);
//Компилируем строку в BPF_programm
//вот здесь у меня проблема я незнаю что такое
//структура BPF_programm, как ее описать (fp)
comp(pp,fp,'host 89.253.247.44',0,maskp);
//.........
FreeLibrary(DLLHandle); -
Сергей М. © (10.09.09 08:19) [3]type
bpf_insn = packed record
code: Word;
jt: Byte;
jf: Byte;
k: Integer;
end;
bpf_program = packed record
bf_len: DWord;
bf_insns: ^bpf_insn;
end;
..
var
fp: bpf_program;