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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> собрать пакет с vlan tagged 
:(
    Опции темы
box
Дата 8.5.2014, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: нет
Всего: 0



всем привет !
подскажите пожалуйста как собрать пакет с vlan tag'ом . заполнить поля структуры
желательно с примером 
PM MAIL   Вверх
tzirechnoy
Дата 8.5.2014, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



Это сильно зависит от используемого сетевого стэка.
PM MAIL   Вверх
box
Дата 8.5.2014, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: нет
Всего: 0



оська фряха 10-я , компилятор c++
PM MAIL   Вверх
konshyn
Дата 8.5.2014, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Цитата(tzirechnoy @  8.5.2014,  14:26 Найти цитируемый пост)
Это сильно зависит от используемого сетевого стэка. 


Цитата(box @  8.5.2014,  15:43 Найти цитируемый пост)
оська фряха 10-я , компилятор c++ 


box, почитай про сетевую модель OSI.
Предположу, что тебе нужно собрать пакет для ethernet-сети.

Формат vlan заголовка. 
Преамбула используется для сетевых устройств, и тебе она вообще не нужна. ее заполнять не нужно и оставлять для нее место тоже.
дальше по формату пакет будет выглядеть так(байты идут по порядку, я напишу в разных строках для понимания):

54 04 a6 bf b0 43 (mac получателя. здесь написан частный случай, вообще заполняй все 0xFF)
FF FF FF FF FF FF (вот так)
64 66 b3 01 80 dd (это мак твоего сетевого устройства)
81 00 (id протокола 802.1q (vlan))
00 63 (про эти два байта в ссылек на вики почитай. здесь записан vlan 110)
08 00 (ID протокола ip)
[20 байт]  - заполнение заголовка ip
[8 или 20 байт] - заполнение заголовка udp или tcp (для примера)
[1460] - байт - данные(максимум в сетях ethernet. формально максимум (в Интернет пакет с большим размером не сможешь отправить,а в локальных сетях можно и больше, но нужно увезде увеличивать MTU))


вот и готов твой пакет 


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
box
Дата 9.5.2014, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: нет
Всего: 0



а как будет выглядеть порядок цыфр в програмном коде , приведите пример пожалуйста 
PM MAIL   Вверх
konshyn
Дата 9.5.2014, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Цитата(box @  9.5.2014,  00:41 Найти цитируемый пост)
а как будет выглядеть порядок цыфр в програмном коде , приведите пример пожалуйста  


Не понимаю вопроса. 
Выше написал, как будет выглядеть пакет. Все байты идут по порядку. Закинуть нужно в обычный массив (unsigned char). И отправить.




--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0546 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.