URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5422
[ Назад ]

Исходное сообщение
"отправка 'голых' Ethernet кадров под BSD."

Отправлено rat4 , 15-Май-06 17:58 
Проблема вот в чём. Пусть есть MAC адрес отправителя и получателя, а так же payload, т.е. можно однозначно составить Ethernet frame. А также есть название интерфейса, через который нужно отправить данный frame. Как это сделать (т.е. сформировать Ethernet frame  и отправить его) под BSD в котором нет реализации сокета socket(PF_PACKET, SOCK_RAW, ...)?
Буду благодарен за любые советы!

Содержание

Сообщения в этом обсуждении
"отправка 'голых' Ethernet кадров под BSD."
Отправлено Forth , 15-Май-06 18:08 
> Проблема вот в чём. Пусть есть MAC адрес отправителя и получателя,
>а так же payload, т.е. можно однозначно составить Ethernet frame. А
>также есть название интерфейса, через который нужно отправить данный frame. Как
>это сделать (т.е. сформировать Ethernet frame  и отправить его) под
>BSD в котором нет реализации сокета socket(PF_PACKET, SOCK_RAW, ...)?
> Буду благодарен за любые советы!
Ну у socket есть PF_LINK (правда описания что означает не видел я нигде). А так сразу приходит на ум bpf. Правда там писать можно только один пакет за раз и только Ethernet или slip.

"отправка 'голых' Ethernet кадров под BSD."
Отправлено rat4 , 16-Май-06 00:20 
Спасибо большое! Кажется, bpf решает то, что мне нужно. Но PF_LINK меня заинтриговал...=)

"отправка 'голых' Ethernet кадров под BSD."
Отправлено Vic , 15-Май-06 23:57 
> Проблема вот в чём. Пусть есть MAC адрес отправителя и получателя,
>а так же payload, т.е. можно однозначно составить Ethernet frame. А
>также есть название интерфейса, через который нужно отправить данный frame. Как
>это сделать (т.е. сформировать Ethernet frame  и отправить его) под
>BSD в котором нет реализации сокета socket(PF_PACKET, SOCK_RAW, ...)?
> Буду благодарен за любые советы!

я такое проделывал сам из нетграф модулей


"отправка 'голых' Ethernet кадров под BSD."
Отправлено rat4 , 16-Май-06 00:27 
Большое спасибо! Уже изучаю=)

"отправка 'голых' Ethernet кадров под BSD."
Отправлено Roma , 16-Май-06 09:49 
>> Проблема вот в чём. Пусть есть MAC адрес отправителя и получателя,
>>а так же payload, т.е. можно однозначно составить Ethernet frame. А
>>также есть название интерфейса, через который нужно отправить данный frame. Как
>>это сделать (т.е. сформировать Ethernet frame  и отправить его) под
>>BSD в котором нет реализации сокета socket(PF_PACKET, SOCK_RAW, ...)?
>> Буду благодарен за любые советы!
>
>я такое проделывал сам из нетграф модулей


--

есть утилита tcpreplay - ей можно отправлять любые готовые пакеты через заданный интерфейс


"отправка 'голых' Ethernet кадров под BSD."
Отправлено Ф , 16-Май-06 12:11 
Попробуйте эту библиотеку

http://www.packetfactory.net/libnet/



"отправка 'голых' Ethernet кадров под BSD."
Отправлено Ф , 16-Май-06 12:14 
>Попробуйте эту библиотеку
>
>http://www.packetfactory.net/libnet/

Функция из этой библиотеки которая вам пригодится

libnet_ptag_t
libnet_build_ethernet(u_int8_t *dst, u_int8_t *src, u_int16_t type, u_int8_t *payload,
            u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag)


"отправка 'голых' Ethernet кадров под BSD."
Отправлено rat4 , 17-Май-06 01:47 
Премного благодарен, уважаемый!



"отправка 'голых' Ethernet кадров под BSD."
Отправлено ll , 22-Май-06 13:21 
>Премного благодарен, уважаемый!


автор
если есть эта прога которая работает через bpf и без сторонних библиотек
пришли плиз на мыло rtk0()()()()mail.ru