Подтвердить что ты не робот

TCP: сервер отправляет [RST, ACK] сразу после получения [SYN] от клиента

Host_A пытается отправить некоторые данные в Host_B через TCP. Host_B прослушивает порт 8181. Оба Host_A и Host_B являются ящиками Linux (Red Hat Enterprise). Уровень TCP реализован с использованием Java NIO API.

Независимо от того, что отправляет Host_A, Host_B не может получить. При прослушивании данных на проводнике с помощью WireShark появился следующий журнал:

1) Host_A (33253) > Host_B (8181): [SYN] Seq = 0 Win = 5840 Len = 0 MSS = 1460 TSV = 513413781 TSER = 0 WS = 7
2) Host_B (8181) > Host_A (33253): [RST, ACK] Seq = 1 Ack = 1 Win = 0 Len = 0

Журналы показывают, что Host_A отправляет флаг [SYN] в Host_B для установления соединения. Но вместо [SYN, ACK] Host_B отвечает [RST, ACK], который сбрасывает/закрывает соединение. Такое поведение наблюдается всегда.

Мне интересно, при каких обстоятельствах прослушиватель TCP отправляет [RST, ACK] в ответ на [SYN]?

4b9b3361

Ответ 1

RST, ACK означает, что порт закрыт. Вы уверены, что Host_B прослушивает правильный IP/интерфейс?

Также проверьте свой брандмауэр на -j REJECT --reject - с помощью tcp- reset