在中间流中使用python(scapy)注入TCP数据包

时间:2018-05-24 09:35:56

标签: python tcp scapy

我已经在圈子中运行了以下场景:

客户端发送GET请求,请求几个完整的MSS 1460字节TCP数据包大小的资源,让我们说6。 如何在服务器传递所有数据包之前强制scapy发送带有FIN标志的TCP段。包1,2,3,4,5之后

尝试简单的curl请求/循环和python / scapy脚本的组合:

    from scapy.all import * from time import sleep

    os.system("iptables -I OUTPUT -p tcp --tcp-flags ALL RST,ACK -j DROP")  
    os.system("iptables -I OUTPUT -p tcp --tcp-flags ALL RST -j DROP")

    def packet(pkt):
    if pkt[TCP].flags == 16:
    print('ACK packet detected port : ' + str(pkt[TCP].sport) + ' from IP Src   : ' + pkt[IP].src)
    send(IP(dst=pkt[IP].src, src=pkt[IP].dst)/TCP(dport=pkt[TCP].sport, sport=pkt[TCP].dport,ack=pkt[TCP].seq + 1, flags='F')) sniff(iface="ens160", prn=packet, filter="host 1.1.1.1",count=10)

但是包含FIN标志的段总是迟到并且超出TCP seq / ack sync。

0 个答案:

没有答案