範例: 往 192.168.10.10 打 udp packet , src ip 是 192.168.1.0 .. 遞增 1024,UDP dest port 是 8001~8010, UDP src port 是 10001 ~ 10010, payload 是 'hello world',packet 從 eth0 出去
import struct, socket
from scapy.all import * #在這邊用 all 速度會變慢一些
ip2int = lambda ipstr: struct.unpack('!I', socket.inet_aton(ipstr))[0]
int2ip = lambda n: socket.inet_ntoa(struct.pack('!I', n))
src_ip_base="192.168.1.0"
src_ip_list=[ int2ip(a+ip2int("192.168.1.0")) for a in range(1024)]
payload='hello world'
packet=Ether(dst="00:e0:4c:68:00:66",src="00:1e:8c:74:b9:47")/ \
IP(dst="192.168.10.10",src=src_ip_list)/ \
UDP(sport=[i+10001 for i in range(10)],dport=[i+8001 for i in range(10)])/ \
payload
sendp(packet,iface="eth0")
留言