Вопрос Как открыть закрытый порт в Ubuntu?


Я пытался убить процесс, который выполнялся на порту 8080, и использовать его для удаленной отладки.

Где мой исходный код находится на моей главной машине, а скомпилированная банка - на другом сервере Ubuntu. Поэтому я пытался выполнить удаленную отладку на порту 8080, я изменил необходимые параметры на моем IntelliJ конфигурации для продолжения удаленной отладки, и я попытался запустить банку с серверной машины:

java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8080 hdfstohive-1.0-SNAPSHOT-jar-with-dependencies.jar

Поскольку я убил процесс, который выполнялся на моем сервере, теперь я не могу видеть, что порт открыт, когда я это делал nmap serverip а также netstat -atun также.

Поэтому я попытался добавить его в брандмауэр (sudo ufw allow 8080/tcp) и в iptable (sudo iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 8080 -j ACCEPT), тем не менее, я не могу видеть, что порт открыт. Я также попытался отключить брандмауэр, но все равно не повезло.

Так что мне нужно, чтобы открыть этот порт, чтобы я мог удаленно отлаживать мою хост-машину. Я уверен, что упускаю что-то важное в том, что я уже сделал.

Я направляюсь к падению? Любая помощь может быть оценена.


1
2018-06-22 18:25


происхождения




ответы:


На Ubuntu все порты открыты, если у вас нет брандмауэра или приложения, которое его блокирует. При нормальных обстоятельствах приложение, работающее на порту, предназначено для СЛУШАТЬ, Чтобы он мог получать из порта.

блокировка или закрытие порт использует ссылку на блок брандмауэра.

Итак, если вы не блокируете порт своим брандмауэром, он открывается.

Порт обычно считается открытым при запуске программы и СЛУШАТЬ на порт. Вы можете указать, какие порты имеют запущенные программы (LISTENING) с помощью этой команды (среди многих других команд):

$ netstat -tulnp | grep "LISTEN"

Вы можете определить, какое приложение использует порт с этой командой (в этом случае проверяет порт 80):

$ sudo lsof -i tcp:80

Порт открыт

Вы упомянули, что вы убил процесс, который выполнялся на вашем сервере, и теперь не может видеть, что порт открыт, Вы не видите, что он открыт, потому что на нем ничего не работает.

Вы можете проверить свой порт, выполнив Netcat в теме. Netcat - это утилита для соединений TCP и UDP и прослушивает.

Запустите это на своем порту:

$ netcat -l 1234

Затем с другого компьютера выполните следующие действия:

$ telnet serverIP 1234
Trying 192.168.15.81...
Connected to ubunzeus.apollo3.com.
Escape character is '^]'.
this is a test

Вы заметите, что текст «Это тестовый текст» появится на консоли сервера. Это способ проверить порт. Вы можете ударить Ctrl+С на сервере, чтобы отменить приложение после теста.

Надеюсь, что это помогло выяснить, что происходит в ваших портах.


8
2018-06-22 20:25