Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Изменение полей пакета  (Прочитано 5495 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dimsv
Гость
« : 30-04-2004 08:12 » 

С каким драйвером надо работать, чтобы на отправляющем компе что-то записать в неиспользуемые (в reserved или options) поля пакета, а на принимающем это что-то прочитать?
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 30-04-2004 08:47 » 

Какой протокол(ы)?
Какие операционные системы на отправителе и получателе?
Какие поля хочется ковырять?

Наиболее общий способ -- писать/читать непосредственно на уровне линка.  На винде есть драйвер ndisuio, на линухе -- packet socket и pcap, на BSD --  BPF
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
dimsv
Гость
« Ответ #2 : 30-04-2004 09:30 » 

Цитата: npak
Какой протокол(ы)?
Какие операционные системы на отправителе и получателе?
Какие поля хочется ковырять?


протокол - TCP/IP
OCы - win2000
поля - reserved (если их можно трогать без потери функциональности) или options
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 30-04-2004 09:59 » 

Поля в IPv4?
Две возможности:
1.  Воспользоваться IPHelper
2.  Прямой доступ к линку

Про IPHelper (2000 Prof, XP)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/intprothelp.asp
При помощи IPHelper можно управлять опциями в исходящем ICMP Echo Request.  Правда, получателю от этого легче не будет, так как входящие запросы обрабатываются внутри транспортного драйвера и на верхний уровень не передаются.  Получателю всё равно надо будет уметь перехватывать фрейм до обработки IP (или параллельно с ним).

Можно взять ndisuio или ещё какой драйвер прямого доступа к линку.  Например, есть инфраструктура (драйверы + библиотека прикладного уровня + интерфейсы)
http://winpcap.polito.it/

Далее сценарий такой -- отправитель строит фрейм (Ethernet+IP+UpperLevel) и засылает в сеть.  Получатель слушает фреймы и ручками их разбирает.  Иначе никак -- данные reserved полей в IP теряются безвозвратно.
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines