Как заставить TCK_QUICKACK работать в Python - PullRequest
0 голосов
/ 03 июля 2018

Я хочу реализовать проверку 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?

...