Передача пакета на сетевой интерфейс

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Передача пакета на сетевой интерфейс

Сообщение mirk » 16.05.2016 16:51:51

Как послать пакет на сетевой интерфейс у которого нет IP?
И как принять подобный пакет?
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: Передача пакета на сетевой интерфейс

Сообщение mig-31 » 18.05.2016 16:04:32

Ethernet пакет через MAC адреса.
mig-31
постоялец
 
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Re: Передача пакета на сетевой интерфейс

Сообщение mirk » 18.05.2016 23:30:50

Вопрос прежний - как :)
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: Передача пакета на сетевой интерфейс

Сообщение shelter » 19.05.2016 00:48:31

Установить драйвер WinPCap. Для Delphi есть заголовочные файлы. Через него можно слать и принимать Ethernet пакеты.

procedure TSendingThread.ExecuteInternal;
const BUF_SIZE = 2048;
var buf: PByteArray;
pkt: Ppacket;
len: word;
seq: byte;
nowEmpty: boolean;
begin
seq := 0;
buf := GetMemory(BUF_SIZE);
try
Move(Eth.FEthernet.snd.mac, buf^[0], 6);
Move(Eth.FEthernet.rcv.mac, buf^[6], 6);
buf^[12] := hi(Eth.FEthernet.snd.typ);
buf^[13] := lo(Eth.FEthernet.snd.typ);
pkt := PacketAllocatePacket;
if pkt = nil then PCapCheck(false, 'PacketAllocatePacket');
try
...
PacketInitPacket(pkt, buf, 17 + len);
PCapCheck(PacketSendPacket(Eth.FEthernet.Adapter, pkt, false), 'PacketSendPacket');
end;
finally
PacketFreePacket(pkt);
end;
finally
FreeMem(buf);
end;
end;
shelter
незнакомец
 
Сообщения: 1
Зарегистрирован: 19.05.2016 00:45:57


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru