Моя цель - получать / отправлять трафик UDP-пакетов на определенные порты на моем экземпляре EC2 (на моем частном IP-адресе eth0) через мой общедоступный IP-адрес.
Я спрашиваю, потому что я настроил свою группу безопасности, чтобы разрешить весь входящий / исходящий трафик на общедоступном IP-адресе. Даже несмотря на то, что я установил свою группу безопасности для категории «Весь трафик», не все порты общедоступного IP-адреса открыты. После запуска netcat -zv publicIP 1-80
на моей локальной машине я вижу, что открыты только порты 22 и 80? В более высоком диапазоне + 49к нет открытых. Это просто что-то, что я настроил неправильно, и если да, то что еще нужно настроить, чтобы разрешить трафик UDP через порт XXXXX, или это невозможно? Спасибо!
Бег netcat -zv publicIP 1-80
покажет вам только открытые порты для TCP
, а не UDP. Поскольку тестирование открытых портов UDP с использованием netcat или nmap сложно, я бы рекомендовал попробовать следующие шаги, чтобы убедиться, что ваш сервер прослушивает определенный порт UDP и может удаленно принимать подключения к этому порту UDP.
Остановите службу, прослушивающую определенный порт, и запустите netcat -luv port
, замените порт номером порта тестируемой службы. Это заставит сервер прослушивать указанный номер порта.
С удаленного хоста запустить echo "test" | netcat -vu publicIP port
замените publicIP и порт на IP-адрес и номер порта соответственно. Если текст «test» отображается на сервере в части (1), то все в порядке. В противном случае проверьте правила брандмауэра вашей группы безопасности и локального хоста. Вы также можете использовать tcpdump
для устранения неполадок.
Оказалось, что в корпоративной сети, по которой клиент отправлял UDP-пакеты, были заблокированы порты.