发送定制tcp p时避免RST包

2024-06-26 15:20:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在打包自己的tcp包并将其发送到另一台ubuntu机器。可以成功发送和接收SYN和SYN-ACK。然而,在接收到SYN-ACK之后,发送RST包。下面是如何使用套接字:

同步:

s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW)
#prepare customized ip header
#prepare customized tcp header
packet = ip_header + tcp_header + user_data
s.sendto(packet, (dest_ip , 0))

SYN-ACK的确认:

#update the tcp header 
packet = ip_header + tcp_header + user_data
s.sendto(packet, (dest_ip , 0))

在发送第一个SYN并且接收到SYN-ACK之后,发起机器将发送一个RST包。enter image description here

我猜客户端套接字已关闭,但不确定如何确认和修复。提前谢谢


Tags: ip机器datarawpacketrstsocketprepare