Я хочу реализовать проверку tcp с помощью Python.
Я нашел магический путь в этой статье .
Он представляет эффективный способ проверки tcp-здоровья.
Client: SYN
Server: SYN-ACK
Client: RST
Я также нашел реализацию Go https://github.com/tevino/tcp-shaker.
Но я надеюсь реализовать SYN
, SYN-ACK
, RST
в python.
Мой код там:
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
получает от сервера.
Как я могу отключить TCP_QUICKACK
в Python?