Как стать автором
Обновить

Комментарии 11

Это круто, спасибо за статью.
НЛО прилетело и опубликовало эту надпись здесь
Вопрос по поводу
image
В последнем случае пакет будет отправлен на каждый адрес в подсети


Разве не 192.168.10.0/24 должно быть указано в таком случае?
Я специально привел такой пример, чтобы продемонстрировать, как Scapy умеет разбирать параметры.
А так, да, вы правы.
Статья, хорошая, сам одно время плотно пользовался для тестирования оборудования. Одна беда — стресс-тесты им не сделаешь, медленно шлет. Приходилось генерировать пакеты scapy, ловить tcpdump и в цикле слать, если тест позволял. Или пользоваться инструментами попроще.
очень хорошая статья. большое спасибо!
Сатья огонь, спасибо!

Вот я создаю пакет на 80 порт вебсера, в дату я пишу:
GET /index.htm HTTP/1.1 host: www.test.ru

Ловлю ответ, можно ли заглянуть в дату ответа? То есть в HTTP ответ?
Вы можете сделать например так:
>>> syn = IP(dst='www.google.com') / TCP(dport=80, flags='S')
>>> syn_ack = sr1(syn)


И далее, вызывая переменную syn_ack увидеть ответ, но как вы понимаете, если соединение еще не установилось, то особо там данных вы не найдете.
В статье описано как вручную установить трехэтапное соединение (рукопожатие), после которого уже можно будет отправлять и получать данные.
а может оно само умеет connect(dst=...) делать? ну что бы без выепонов с iptables
Scapy использует в работе PF_PACKET/SOCK RAW, и операционка даже не догадывается о том, что должны приходить какие-то пакеты.
Поэтому и приходится делать некоторые ухищрения.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации