|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.07.2010, 12:45 | #1 |
Регистрация: 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 рад буду услышать предложения.
|
24.07.2010, 20:24 | #2 |
Регистрация: 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)); |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменение пакета | 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 |