2024-03-29 11:10:48 发布
网友
要在TCP连接上发送RST,请在零超时的情况下将SO_LINGER选项设置为true,然后关闭套接字。这将重置连接。我不知道如何在Python中做到这一点,也不知道您是否能够做到这一点。
SO_LINGER
true
打开SO_LINGER socket选项并将延迟时间设置为0秒。这将导致TCP在连接关闭时中止连接,刷新数据并发送RST。见UNP第7.5节和示例15.21。
在python中:
def client(host, port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) s.connect((host, port)) l_onoff = 1 l_linger = 0 s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack('ii', l_onoff, l_linger)) # send data here s.close()
如果你想通过连接实现自己的行为,我认为你应该尝试使用Scapy。它是一个非常有用的库/工具。它允许您使用IP/TCP/UDP/ICMP包。
要在TCP连接上发送RST,请在零超时的情况下将
SO_LINGER
选项设置为true
,然后关闭套接字。这将重置连接。我不知道如何在Python中做到这一点,也不知道您是否能够做到这一点。打开SO_LINGER socket选项并将延迟时间设置为0秒。这将导致TCP在连接关闭时中止连接,刷新数据并发送RST。见UNP第7.5节和示例15.21。
在python中:
如果你想通过连接实现自己的行为,我认为你应该尝试使用Scapy。它是一个非常有用的库/工具。它允许您使用IP/TCP/UDP/ICMP包。
相关问题 更多 >
编程相关推荐