|
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 22
|
|
http-сниффер09.11.2011, 22:02. Показов 6232. Ответов 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 / 3287 / 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 / 3287 / 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 / 3287 / 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 / 3287 / 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|