Я использую необработанный сокет для создания пакетов TCP с акцентом на порядковый номер и флаги TCP (SYN, ACK)
Я использовал одну машину S для отправки пакета ACP tcp (флаг ACK установлен в 1) и другую машину R для ее получения. Эти две машины находятся в разных подсетях, все в моей школе
тем временем я использовал tcpdump для захвата пакетов.
Странные вещи случаются! На машине S перехваченный пакет, как и ожидалось, является пакетом ACK, однако на принимающей машине R пакет становится пакетом SYN, и порядковый номер изменяется, значение seq no на 1 меньше ожидаемого, и ack_seq становится 0!
что не так с этим? я предполагаю, что маршрутизатор / брандмауэр изменил пакет ACK на пакет SYN, потому что он никогда не видит обмен SYN SYN / ACK перед ACK? это возможно или нет?
два захваченных пакета:
https://docs.google.com/file/d/0B09y_TWqTtwlVnpuUlNwUmM1YUE/edit?usp=sharing https://docs.google.com/file/d/0B09y_TWqTtwlTXhjUms4ZnlkMVE/edit?us