1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
from scapy.all import * from scapy.layers.dns import DNS, DNSQR from scapy.layers.inet import IP, UDP import socket import time import random
send_iter = 0.001
MDNS_MULTICAST_IP = "224.0.0.251" MDNS_PORT = 5353
query_name = "_googlecast._tcp.local"
dns_disturb = DNS( id=0, qr=0, opcode=0, rd=0, qdcount=1, qd=DNSQR(qname=query_name, qtype="AAAA", qclass="IN") )
dns = DNS( id=0, qr=0, opcode=0, rd=0, qdcount=1, qd=DNSQR(qname=query_name, qtype="PTR", qclass="IN") )
udp = UDP(sport=MDNS_PORT, dport=MDNS_PORT) ip = IP(dst=MDNS_MULTICAST_IP)
packet_disturb = ip / udp / dns_disturb packet = ip / udp / dns
print(f"[*] Sending mDNS query for {query_name}")
cnt = 50 send_iter = 0.000001 start_time = time.time() send(packet_disturb, iface="eth0", count=300 * cnt, inter=send_iter, verbose=0) send(packet, iface="eth0", count=1, inter=send_iter) end_time = time.time() elapsed_time = end_time - start_time print(f"程序运行时间:{elapsed_time:.3f} 秒")
|