Python-2.7 Scapy - 同时发送多个arp请求

时间:2015-10-01 04:09:13

标签: python-2.7 scapy

如何创建一个脚本,它将使用几个变量并将它们用作ip_src和另一个ip_dest?在脚本中传递它们,它将在循环中发送arp请求

dict1 = {"192.168.1.4":"192.168.1.6","192.168.1.4":"192.168.1.3","192.168.1.4":"192.168.1.1"}
#the first item in the dict is the ip_scr and the second is the ip_dest
for *couple*?? in dict1:
    send([ARP(op=ARP.who_has, psrc=ip_src, pdst=ip_dest)], loop = 1)

第二个问题是,由于脚本没有停止,它不会做第二对和第三对等......

1 个答案:

答案 0 :(得分:1)

Scapy's official API documentation中所述,send()函数的第一个参数可能是数据包列表:

  

pkts可以是数据包,隐式数据包或它们的列表。

因此,以下内容应该在无限循环中发送所有必需的数据包:

send([ARP(op=ARP.who_has, psrc=ip_src, pdst=ip_dst) for ip_src, ip_dst in dict1.viewitems()], loop=1)