|
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 22
|
|
http-сниффер09.11.2011, 22:02. Показов 6148. Ответов 21
Метки нет (Все метки)
Джентельмены!
Подскажите, пожалуйста с чего начать. Любой соурс по теме очень нужен. В конечном счёте нужно получить программу, которая, сидя на маршрутизаторе, будет подменять передаваемые при http-соединении файлы. Т.е. в iptables настраиваем редирект на нашу прогу (это + ДНС я сделал). Затем прога выясняет свойства http-пакета (интересен destination- ДНС имя или ip, передаваемые данные, ну и что за пакет, GET/не GET и т.п.). Затем делает новый пакет с подменённым файлом и отправляет дальше. Вот собственно вопрос по курсивной части, как перехватить, развернуть пакет, завернуть новый, отослать на сервер и т.д.. Огромное спасибо за любой код, приближающий к решению проблемы! Писал в спешке, переписал более вдумчиво. Спасайте ((
0
|
|
| 09.11.2011, 22:02 | |
|
Ответы с готовыми решениями:
21
www-http сниффер. Как отследить HTTP запросы? HTTP сниффер |
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 09.11.2011, 22:27 | |
|
Вообще не понятно, к чему все это...
Имхо, идеологически правильнее для подобной задачи проксировать веб трафик. Если твердо решили извращаться с iptables, то смотрите в сторону libipq
0
|
|
|
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 22
|
|
| 09.11.2011, 22:43 [ТС] | |
|
Задание в институте такое, увы.
Т.е. мы сможем получить все пакеты. Как из них отобрать по критериям- вот проблема.. Не знаю как подступиться ни к перехвату, ни к разбору. А сделать надо сокетами.. И под Линь. Убунту 10 в частности.
0
|
|
|
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 22
|
|
| 11.11.2011, 21:06 [ТС] | |
|
Неужель никто не знает?
Перехват-то ещё могу состряпать.. и разбор.. А вот подмену.. Поможет кто?
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 12.11.2011, 10:41 | ||
|
Если Вы уже осилили "разбор", то вставить что угодно в пакет, не забыв обновить TCP и IP заголовки ну просто детская задача по сравнению с "разобрать".
0
|
||
|
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 22
|
|
| 12.11.2011, 15:45 [ТС] | |
|
Нашёл много кода, разбирающего ip, tcp и udp.
Из проблем- разобрать http и сделать подмену файлов. Но первичнее разобрать.. Поможете?
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 12.11.2011, 16:41 | ||
|
PS: как человек осиливший хотя бы пересборку фрагментированных TCP пакетов может иметь затруднения с разбором строки вида "METHOD :space: URL :space: HTTP/x.y\r\n"|"NAME: :space: VALUE\r\n"???
0
|
||
|
|
|||
| 12.11.2011, 21:49 | |||
![]() википедия про сниффер говорит то, что я и так знал. но я все же решил заглянуть, вдруг я что-то путаю.
0
|
|||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 13.11.2011, 08:09 | ||
старый пакет остаётся ищи средство разбора tcp-пакета ищи средство формирования tcp-пакета разобрав tcp-пакет, выделяй оттуда путь и формируй новый tcp-пакет (там ещё какие-то данные, их можно повторить или создать новые) сначала делай для GET-запроса
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 13.11.2011, 11:22 | |||
|
0
|
|||
|
|
||
| 13.11.2011, 13:04 | ||
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 13.11.2011, 15:04 | ||
|
Что бы советовать ТСу что-то вменяемое, требуется нормальная формулировка задачи, например: 1. с помощью iptables завернуть весь трафик идущий с хоста A на хост B:80 в программу (-j QUEUE N) 2. ждать 1й пакет с не нулевым tcp-payload, пропуская остальные без имений. 3. Убедиться, что пакет HTTP 3. А вот тут и начинается самое веселье: Что будем делать если мы получили фрагмент запроса? (например "GET / H") Что делать если заголовок HTTP запроса получен, а данные нет? Что делать с пакетами которые нам не нужны? (переписали данные в HTTP не забыв поправить Content-Length и знаем что данных стало меньше на 100kб) Таких вопросов с десяток. От ответов на них зависит какую часть TCP стека придется написать ручками (точнее утащить откуда нибудь) И пока на них нет ответов, это не топик, а детский лепит из серии "ПОМОГИТЕ!!!")
0
|
||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 14.11.2011, 00:58 | ||||||
на первом этапе можно написать прогу, которая работает только с правильными данными
нужно подменять путь к файлу (это самое простое)
0
|
||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 14.11.2011, 09:34 | |||
|
Т.е. простейший вариант будет работать, только когда получили полный заголовок (в данных пакета присутствует "\r\n\r\n") и после изменения URL размер пакета вместе с IP и TCP заголовками остался <= MTU.
0
|
|||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||
| 14.11.2011, 10:16 | |||
может просто времени не хватить на обработку всех возможных ситуаций GET - запрос, чтобы что-то получить POST - запрос, чтобы сначала отправить какие-то данные, а потом что-то получить ему, похоже, нужно при запросе какого-нибудь файла выдать другой файл
(если будет готовая программа, то будет смысл её расширять если не будет готовой программы, то не будет смысла её писать)
0
|
|||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||||
| 14.11.2011, 10:36 | ||||
|
0
|
||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||
| 14.11.2011, 11:35 | |||
0
|
|||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 14.11.2011, 12:10 | |||
|
Прокси - легко, а то, что ТС обозвал сниффером, не может, ведь SYN SYN/ACK к моменту когда мы видим HTTP запрос уже ушли в оригинальном направлении. Т.е. фактически не взяв на себя львиную долю ф-ций TCP стека, задача не решаема. А поменять URL в пределах оригинального сервера, да, тривиально, думаю со всей мишурой можно уложиться в 500 строк кода...
0
|
|||
| 14.11.2011, 12:10 | |
|
Помогаю со студенческими работами здесь
20
Http-сниффер Посоветуйте http сниффер Как написать собственный HTTP-сниффер Сниффер - как представить HTTP заголовок в виде структуры? Простой сервлет HTTP Status 405 - HTTP method GET is not supported by this URL Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|