информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Конечно, не TCP поток. На raw сокете ты получишь IP. А... 20.01.09 07:07  Число просмотров: 1420
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Если собранный TCP поток - то уже начинаю искать пепел,
> чтобы посыпать голову :-)
Конечно, не TCP поток. На raw сокете ты получишь IP. А дальше посыпать пеплом голову будет тот, кто будет делать всё дальше. Сделать нориальный софт здесь - непросто и многодельно. Вкратце и в первом приближении надо:
1) фильтровать IP пока не получишь первые 4 TCP пакета хендшейка (SYN, SYN ACK, ACK, ACK) для http порта интересующего хоста.
2) фильтровать начальные пакеты TCP с установкой опций инициализации и настройки соединения (SACK и т.д.), что впрочем бывает весьма редко. Можно и не фильтровать - всё расно длина данных TCP будет = 0. Т.е. это только заголовки IP+заголовки TCP.
3) фильтровать TCP пайлоад - учитывать IP пакеты содержащие TCP в битами PUSH или PUSH ACK от ремоут хоста. ACK пакеты можно отбрасывать (там длина данных = 0).
4) вести вектор буферов аналогично списку TCB TCP c анализом последовательности байт из заголовка TCP отправителя. Если соединение хорошее (например локальная сеть), то в простейшем случае повторых передач не должно быть. И кроме того в простейшем и благоприятном случае очерёдность пакетов отправителя будет соответствовать правильной последовательности байт TCP стрима - тогда просто дописывам пайлоад в конец буфера и инкриментируем свои счётчики последовательности принятых байт.
5) продолжать это безобразие пока:
- соединение не завершено (флаги FIN, FIN ACK)
или
- аварийно прекращено одной из сторон (флаги RST в пакете отправителя или получателя)
или
- таймаут (сервер или клиент умерли)

Короче остаётся только посыпаться пеплом, если это (потуги) окажется неизлечимо ;) Но за нормальное денежное вознаграждение можно.
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach