Некоторое время я боролся за то, чтобы открыть порты на некоторых машинах Linux, и я следовал некоторым учебникам, которые я пробовал на 2 разных виртуальных машинах Linux, и потерпел неудачу в любой из них, и после некоторого исследования, я думаю, я выяснил, почему это не удается.
Итак, что нужно было скачать gufw, установить правило, разрешающее входящие подключения к определенному порту, или отключить брандмауэр и перезагрузить компьютер. После этого, когда я сканировал с помощью zenmap, я мог видеть, что порт все еще закрыт.
Но когда я использовал порт nc -l -p, я увидел, что порт открыт. То же самое произошло на порте 80, когда сервер Apache работал для этой машины.
Затем я настроил брандмауэр на запрет всего входящего трафика и перезагрузился. Я запустил службу apache и запустил порт nc -l -p, а затем просканировал с помощью zenmap, и он сказал, что порт 80 и порт, выбранный nc, были отфильтрованы
Из этого я делаю следующие выводы:
- Прослушивание означает, что порт не защищен брандмауэром или брандмауэр пропускает туда входящий трафик, и на этом порту есть служба, прослушивающая
- Фильтрация означает, что может быть или не быть служба, которая прослушивает этот порт, но брандмауэр запрещает входящий трафик.
- Закрытый означает, что порт не защищен брандмауэром, но служба / приложение не прослушивает этот порт.
Таким образом, открытие порта означает его доступность извне, если приложение прослушивает. Если это не так, он будет отображаться как "закрытый" при сканировании nmap.
Подводя итог, если я хочу, чтобы приложение было доступно извне, я должен связать его (это слово?) в порт, а затем откройте этот порт на брандмауэре.
Это правильно? Если бы вы могли что-то добавить к этому, я был бы признателен, я задал еще один вопрос, похожий на этот, но в то время я мало что знал о портах и брандмауэрах, поэтому, если мои выводы верны, я могу ответить на этот вопрос и надеюсь, что это будет быть полезным для кого-то.
Кроме того, можно ли каким-либо образом подключиться к порту, даже если он не прослушивает?