Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Снифер


Автор: volan 15.11.2005, 16:06
Пишу снифер на packet.dll, а он не работает. Может кто знает.
Вот код.

Код


  try
    lpadapter:=packetOpenAdapter(pchar(S));
    if lpAdapter<>nil then
      begin
        PacketSetHwFilter(lpAdapter, NDIS_PACKET_TYPE_PROMISCUOUS);
        PacketSetBuff(lpAdapter, 5000);
        PacketSetReadTimeout(lpAdapter, 0);
        lpPacket := PacketAllocatePacket;
        PacketInitPacket(lpPacket, @FBuffer, 5000);
      end
  except
  end;


while true do
begin
  sleep(1);
  b:=PacketReceivePacket(lpAdapter,lpacket,true);
end;



S- это строка содержащая правильное имя адаптера.
На всех этапах функции возвращаеют true, а на последнем b всегда false. Может кто знает почему???

Автор: RA 15.11.2005, 20:01

Вот в этой теме есть всё что нужно для реализации сниффера
http://forum.vingrad.ru/index.php?showtopic=70701

Автор: volan 16.11.2005, 01:55
Спасибо, буду разбираться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)