Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

И снова WinPcap

57K
20 июля 2010 года
flatgad
4 / / 13.03.2010
Всем привет вопрос такой. Есть программа для мониторинга полученных пакетов основана на WinPcap (типа сниффер) делается это для радиомодема. Но вот собственно вопрос как можно с помощью WinPcap создать ARP либо другой какой точно пока ещё не знаю. Точно могу сказать что передать модему надо : 00 01 00 00 00 01 00 00 00 01 00 81 00 08 00 00 00 00 00 00 00 02 00 00. Мак адрес FF-FF-FF-FF-FF-FF. в ответ модем отправляет данные про уровень сигнала и всякую дребедень. Кто может помогите может у кого какие мысли есть. Заранее спасибо ! :)
1
20 июля 2010 года
kot_
7.3K / / 20.01.2000
в чем помочь? Вы вообще способны мысли хоть как то излагать связно?
57K
20 июля 2010 года
flatgad
4 / / 13.03.2010
а если коротко то как с помощью WinPcap передать пакет.
57K
24 июля 2010 года
flatgad
4 / / 13.03.2010
Вот нашел функцию для отправки PacketSendPacket но как она работает пока не могу разобраться кто может помогите :]

PacketSendPacket(
LPADAPTER AdapterObject,
LPPACKET lpPacket,
BOOLEAN Sync
/*
description:
send the user-supplied data via lpPacket.
Sync value is ignored.
return:
if success, return TRUE
else, return FALSE
*/
);
*)
function PacketSendPacket( AdapterObject: LPADAPTER;
plpPacket: LPPACKET;
Sync: Boolean ): Boolean; stdcall;

(*PVOID WINAPI
PacketAllocatePacket(
LPADAPTER AdapterObject
/*
description:
allocate the new packet
return:
if success, return the pointer to the allocated PACKET structure
else, return NULL
*/
);
*)

вот ещё кусок исходника нашел может там можно как то разобратся
у меня пока не получается

endData.HEther.Destination:= StrToMac(GetMacByIP(DESTIP) );
end ;
end;
if Test = '2' then
SendData.HEther.Destination:= StrToMac('FF:FF:FF:FF:FF:FF') ;

SendData.HEther.Destination:= StrToMac(GetMacByIP(DESTIP) );
for i := 0 to MAC_SIZE - 1 do
SendData.HEther.Source:=30+Random(10)-1;
SendData.HEther.Protocol:=$0608;
SendData.ARP.HardwareType:=$0100;
SendData.ARP.ProtocolType:=$08;
SendData.ARP.HLen:=$06;
SendData.ARP.PLen:=$04;
SendData.ARP.Operation:=$0200;
SendData.ARP.SenderHA:=StrToMac('00:00:00:00:00:00 ');
SendData.ARP.SenderIP:=inet_addr(PChar(iptostr(Gat eway)));

p:= PacketOpenAdapter(pchar(strs));
if (p=nil)or (p.hFile=INVALID_HANDLE_VALUE) then Exit;
pp:=PacketAllocatePacket;
PacketInitPacket(pp, @SendData,SizeOf(SendData));
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог