如何使用scapy接收回显请求时发送自定义回应回复。或者我们是否需要在收到回应请求时发送回应请求?
这仅用于学术目的。
答案 0 :(得分:0)
这类工作的最佳选择是撰写AnsweringMachine
。
由于ICMP echo request / echo回复并不难,因此应该很容易根据ARP_am
中的scapy/layers/l2.py
类来编写它(参见https://bitbucket.org/secdev/scapy/src/tip/scapy/layers/l2.py?at=default#cl-500)。
如果您认为它太复杂而无法满足您的需求,那么快速而肮脏的选项可以使用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))