Создание скрытого канала ICMP
Как отправить пользовательский эхо-ответ, когда эхо-запрос получен с помощью scapy. Или нужно ли отправлять эхо-запрос при получении эхо-запроса?
Это только для академических целей.
1 ответ
Лучший вариант для такой работы - написать AnsweringMachine
,
Поскольку ICMP-эхо-запрос / эхо-ответ не сложен, его легко написать на основе класса ARP_am
в scapy/layers/l2.py
(см. https://bitbucket.org/secdev/scapy/src/tip/scapy/layers/l2.py?at=default).
Если вы думаете, что это слишком сложно для того, что вы хотите, быстрый и грязный вариант может использовать prn
параметр sniff()
функция отправки ответа при просмотре запроса. Попробуй это:
sniff(iface='eth0', filter='icmp', lfilter=lambda p: p[ICMP].type == 0
prn=lambda p: send(
IP(src=p[IP].dst, dst=p[IP].src)/ICMP(type=0)/p[ICMP].payload))