Невозможно связаться с портом, в котором сервер прослушивает

0

У меня есть приложение, которое слушает порт (8087). Существует клиентский процесс, который дает запрос этому серверу, и сервер отправит ответное сообщение обратно. После некоторых запросов и ответов мой клиентский процесс не может подключиться к этому порту.

Я мог видеть прослушивание порта, когда использовал инструмент netstat. Также мой процесс запущен.

# netstat -a | grep 8087
tcp        0      0 0.0.0.0:8087            0.0.0.0:*               LISTEN

Но я не могу подключиться к этому порту от клиента. Что может быть причиной этого?

  • 0
    Опыт показывает, что это почти всегда связано с брандмауэром.
  • 0
    Как это может быть связано с брандмауэром, если я был в состоянии сделать некоторые обмены изначально?
Показать ещё 5 комментариев
Теги:
tcp
netstat

1 ответ

0

Попробуйте выполнить следующие действия.

  1. На машинах сервера выполняется команда "iptables -nL", чтобы узнать, какие политики установлены. Если установлены правила брандмауэра, удалите правила и повторите попытку подключения.

  2. Выполнить следующую команду tcpdump на серверной машине

    tcdump -nnvX -s0 -iem1 host client_machine_ip и порт 8087

    и после команды tcpdump на клиентской машине

    tcdump -nnvX -s0 -iem1 host server_machine_ip и порт 8087

    Это скажет вам, что клиентская машина отправляет пакет, и серверная машина его получает.

  3. Запустите команду "netstat -ans" на сервере и под метками IP и TCP, посмотрите, удаляются ли какие-либо пакеты.

  4. Проверьте /var/log/messages на серверной машине, если сообщается о каких-либо ошибках.

Надеюсь это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню