2024-09-27 00:22:56 发布
网友
我一直在尝试创建一个ACKSYN包,使它看起来好像端口是打开的,但它不起作用,这是我迄今为止的代码
ip=IP(src=machine_self_ip, dst=pkt[IP].src, proto='tcp')SYN=TCP(sport=pkt.payload.dport, dport=pkt.payload.sport, seq=1,ack=1, urgptr=0, flags="SA")
ip=IP(src=machine_self_ip, dst=pkt[IP].src, proto='tcp')
SYN=TCP(sport=pkt.payload.dport, dport=pkt.payload.sport, seq=1,ack=1, urgptr=0, flags="SA")
然后我发送数据包,但是端口仍然关闭。我错过什么了吗?在
谢谢!在
在 最好的方法是实现一个AnsweringMachine类。在
AnsweringMachine
一种快速而肮脏(但有效)的方法是将sniff与一个特殊的prn函数一起使用:
sniff
prn
def answer(p): p = p[IP] send(IP(dst=p.src, src=p.dst)/TCP(dport=p.sport, sport=p.dport, ack=p.seq + 1, flags='SA')) sniff(filter='tcp and tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn', prn=answer, store=False)
在Scapy有机会发送SYN-ACK之前,您可能需要添加防火墙规则来阻止主机的IP堆栈发送RST-ACK包。您可能还需要调整过滤器,使其只对发往主机(或特定主机/网络)的数据包作出响应。在
在 最好的方法是实现一个
AnsweringMachine
类。在一种快速而肮脏(但有效)的方法是将
sniff
与一个特殊的prn
函数一起使用:在Scapy有机会发送SYN-ACK之前,您可能需要添加防火墙规则来阻止主机的IP堆栈发送RST-ACK包。您可能还需要调整过滤器,使其只对发往主机(或特定主机/网络)的数据包作出响应。在
相关问题 更多 >
编程相关推荐