Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2010, 12:45   #1
flatgad
 
Регистрация: 21.07.2010
Сообщений: 3
По умолчанию Формирование пакета WinPcap

Привет всем. Вот собственно вопрос: "Как с помощью библиотеки WinPcap можно отправить пакет :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?" (Пакет постоянно одинаковый). А если точнее опишу проблему так: Надо написать программу мониторинга сети радиомодема что бы показывало уровень сигнала, станцию к которой подключается модем и так далее. При отправке данного пакета модем отправляет пакет с данными. Снифер я уже написал для отловки пакета который присилает модем. Теперь осталось научится отправлять ему запрос. Ну вот пожалуй и вся проблема. Заранее спасибо за ответы. Возможно можно реализовать и без winpcap рад буду услышать предложения.
flatgad вне форума Ответить с цитированием
Старый 24.07.2010, 20:24   #2
flatgad
 
Регистрация: 21.07.2010
Сообщений: 3
По умолчанию

Вот нашел функцию для отправки 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[i]:=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(PC har(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));
flatgad вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение пакета Namolem Помощь студентам 4 02.06.2010 18:18
DDoS & ARP + winPcap iGlass Работа с сетью в Delphi 2 18.04.2010 07:05
TsuiArrowButton из пакета SuiPackv4.31 ArtInt Компоненты Delphi 4 16.03.2009 14:53
Сбор и чтение пакета OrdJONY Работа с сетью в Delphi 1 17.09.2007 09:18
Отправка->Распаковка пакета Saxon Работа с сетью в Delphi 10 15.04.2007 20:56