Назад | Перейти на главную страницу

Установление TCP-соединений с помощью hping3

когда клиент отправляет 10 пакетов TCP SYN с помощью hping3 (без спуфинга), сервер отвечает и отправляет 10 пакетов TCP SYN + ACK. теперь клиент должен ответить серверу и установить соединение, отправив 10 пакетов ACK, но клиент отправляет 10 RST и завершает полуоткрытые соединения (я думаю, это потому, что ядро ​​Linux отвечает).

как я могу отправлять 10 SYN-пакетов в секунду (в одно и то же место назначения с разными исходными портами) и в ответ на SYN + ACK отправлять ACK и устанавливать соединения? Огромное спасибо

Вы не можете создавать пакеты в пользовательском пространстве за пределами собственного стека TCP / IP и ожидать, что ядро ​​примет в ответ незапрошенные пакеты SYN / ACK. Ядро имеет право RST пакетов согласно RFC стандарт. Я сомневаюсь, что hping3 сможет добиться того, что вы ищете.

Если вам нравится Python, вы можете изучить Scapy что позволит вам отправить и получать пакеты в пользовательском пространстве. Вот простой пример создания трехстороннего рукопожатия в Scapy.

hping3 обычно используется в качестве атакующего инструмента, который пытается нарушить нормальный способ действий - в описанном случае трехстороннее рукопожатие - чтобы нанести ущерб месту назначения.

Наличие инструмента для установления потока TCP-соединений, вероятно, можно было бы классифицировать как инструмент стресс-тестирования, а не инструмент атаки.

-S самый популярный вариант hping3 относится к атаке SYN-флуда, и я предполагаю, что это то, что вы использовали. В этом режиме hping3 отправляет множество сообщений SYN, но намеренно воздерживается от отправки последнего сообщения трехстороннего рукопожатия. Соединения остаются «полуоткрытыми», и жертва уже выделила тонну ресурсов (теоретически) для всех этих соединений.

В вашем случае ядро ​​атакующей машины выдает сообщения RST почти сразу, предотвращая завершение атаки. Причины этого упоминаются @MarkoPolo. Если атака сработает, вы действительно должны ожидать увидеть несколько попыток повторной передачи сообщения SYN-ACK от жертвы, соответствующего каждому SYN.

Если ваш план на самом деле заключается в успешном проведении атаки, я предлагаю вам ввести правило брандмауэра, чтобы эффективно отбрасывать исходящие сообщения RST.

iptables –A OUTPUT –p tcp –s 192.168.56.101 --tcp-flags RST RST –j DROP