创建ICMP隐蔽通道

时间:2014-03-06 03:32:26

标签: python scapy icmp

如何使用scapy接收回显请求时发送自定义回应回复。或者我们是否需要在收到回应请求时发送回应请求?

这仅用于学术目的。

1 个答案:

答案 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))