![]() |
raw sockets как должен выглядить пакет
Я хочу отправить GET запрос на 80 порт через raw-sockets. Но кое-чего не понимаю. Как должен выглядить пакет. Я понял вот так:
сначала идет IP-пакет, сразу после него идет TCP-пакет, а вот куда писать GET / HTTP 1.o\r\n\r\n я че-то не втыкну. Сразу после Ip и TCP пакетов сувать HTTP запрос? |
механизм установки tcp соединения такой ( С - клиент, S - сервер): пакет №1: C -> S SYN запрос на соединение. пакет№2: С <- S SYN/ACK (подтверждаю) пакет№3: C -> S ACK ( оке ). С выравниванием номеров последовательностей, пересчетом контрольных сумм и тд.
Теперь соединение установлено.Отправлять данные в хвосте tcp заголовка с указанием в соответствующих полях портов, размеров, номеров последовательностей, пересчета контрольных сумм и тд. структура пакета: [IPv4][TCP][payload]... терь решай нужен ли те необоснованный гимор... |
изза GET мутить ТАКОЕ? ты лучше скажи зачем? Если ты начитался "умных" статей про спуфинг то забудь, для TCP не покатит. Впрочем как хочешь, на вот, лови:
Код:
//Подробно IP протокол описан в RFC за номером 791. |
Спасибо. Я хотел делать Get запросы с левого Ip. Понял, что фиг че получиться из-за подтверждения соединения. Косяк, было бы прикольно.
|
Если хочешь делать хттп-запросы с левого ИП - заюзай хттп-прокси.
|
не-е-е-е, мне просто надо в большом количестве и каждое соединение с другого Ip. Ну и запрос должен отличаться некоторыми символами
|
Цитата:
|
Если задача состоит в имитации распределенной дос атаки сервера хттп запросами с целью загрузки вычислительной мощности, то как вариант подходят SYN и тд штормы со спуфингом ip адреса, тк тут играет роль загрузкиа tcp стека атакуемой машины. Правда не все провы пропускают левые пакеты, но у меня это позволяет имитировать до 65000 машин подсети.
|
sn0w Чет я не понял эту твою фразу (выделено красным):
Цитата:
1. СИН запросы с подменой адреса на данный момент не эффективны. Почему? Да потому, например, что есть такое поле как TTL и брэндмауэр при обнаружении большого к-ва запросов на открытие соединения пусть даже с разных ИП но с одинаковым значением TTL распознает такую атаку. Во-вторых можно подкопаться под поля идентификатора IP-пакета, порт источника, ISN (Initial SeqNumb). 2. SYN-пакеты практически вовсе не загружают вычислительную мощность. Если даже они прорвутся через п.1. на вычислительную мощность это очень мало повлияет. Почему? Да, очередь полуоткрытых соединений очень быстро заполнится, но тогда ядро включит механизм SYN-coocies, позволяющий нормально (при достаточной ширине канала) функционировать серверу (без использования очереди) даже в условиях жестокого SYN-флуда. 3. Нагрузить вычислительную мощность сервера можно заставив его выполнить какойнибудь трудоемкий запрос, но для этого требуется установленное соединение: т.е. сочетание терминов СИН и ХТТП здесь неуместно. |
| Время: 20:42 |