我想用Python实现tcp检查。
我在此article中发现了一种神奇的方法。
它介绍了一种执行tcp-health-check的有效方法。
Client: SYN
Server: SYN-ACK
Client: RST
我还找到了Go实现器https://github.com/tevino/tcp-shaker。
但是我希望在python中实现SYN
,SYN-ACK
,RST
。
我的代码在那里:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 0)
s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 0)
s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack('ii', 1, 0))
s.connect((ip, port))
s.close()
但是它没有按我预期的那样工作。当从服务器收到ACK
时,客户端将SYN-ACK
发送到服务器。
如何在Python中禁用TCP_QUICKACK
?