1

У меня есть сервер рельсов (Linux). Я могу открыть сайт на машине A. Используя машину BI, можно просто использовать ssh-порт для его подключения, но он не может открыть сайт, и сервер rails не может обнаружить http-запрос. Поскольку машина B является платформой Windows, я открываю cmd и ping xxx.xxx.xxx.xxx , и это сработало.

Я подозреваю, что, возможно, порт для сайта rails 3000 заблокирован брандмауэром, но кажется, что ping не может обнаружить такую проблему. Есть ли способ наблюдать за тем, что происходит, когда http-запрос сделан машиной B на сервер rails?

3 ответа3

0

Вы также можете использовать nmap для тестирования открытых портов на другом сайте.

nmap -v -Pn -p 3000 xxx.xxx.xxx.xxx

0

Так много способов ... Вот несколько

  • использовать средство наблюдения за сетевыми пакетами или анализатор пакетов для отслеживания пакетов в и из ваших сетевых подключений; анализаторы пакетов, как правило, зависят от конкретной ОС. Вы можете захотеть разные снифферы на каждом клиенте и сервере
  • используйте telnet -p {port_number} для проверки соединений по номеру порта; обычно устанавливается в системах Linux, понятия не имею о Windows.
  • используйте netcat для подключения к портам
  • используйте curl и включите параметры отладки -trace

Лично, столкнувшись с вашей ситуацией, я бы искал telnet и указал номер порта в качестве первого шага. Если это не происходит, я бы попробовал изменить номер порта сервера на 80 и посмотреть, работает ли он. Если 80 работает, а 3000 выходит из строя ... тогда что-то блокирует это. Довольно просто установить порт сервера rails в режиме разработки, но если вы не можете найти эти документы ... добавьте комментарий. ;)

ping - менее полезный инструмент, чем вы могли бы ожидать. Он использует протокол ICMP, а не TCP или UDP. Как следствие, ICMP может быть недоступен, а TCP или UDP недоступны. И наоборот - атаки ICMP-затопления были очень популярны, поэтому некоторые хосты отключают ICMP в брандмауэрах - даже если вы можете подключиться к порту 80 или 443 обычным способом. В локальной сети без внешних брандмауэров это довольно хороший тест на соединение.

-1

Перейдите на mxtoolbox, это онлайн-сервис, предоставляющий различные функции диагностики сети. Найдите скан и введите свой IP-адрес. Вам будет представлен список всех портов, открытых на этом IP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .