У меня есть VPS с debian, хрипящим установленный на нем. Брандмауэр работает на этом во всех портах, не позволенных по умолчанию. Брандмауэром можно управлять через веб-интерфейс поставщика VPS и недавно, я открыл порт через этот веб-интерфейс. Никакой процесс не присоединен к этому порту на самом деле.
Поскольку у меня есть доступ SSH, я хотел бы знать, существует ли команда или способ для меня получить список разблокированных портов моего VPS от терминала.
Это зависит, главным образом, от того, как брандмауэр блокирует закрытые порты.
Удаленное сканирование портов может быть методом. закрытый порт , который не заблокирован вашим брандмауэром, но с которым не связан процесс, активно прослушивающий и принимающий соединения, может быть определен таким образом.
В руководстве по nmap есть некоторая предыстория информация об этом.
Это полностью зависит от характера Рассматриваемый брандмауэр.
Если это физически отдельное устройство, то единственный надежный способ определить порт как «открытый» в смысле «не заблокирован» - это отправить на него трафик извне и посмотреть, приходит ли он внутри. Все остальное в лучшем случае дает косвенные доказательства, поскольку межсетевой экран может отвечать на трафик на заблокированном порту любым способом, который он считает нужным. Это может привести к тому, что порт будет выглядеть как «открытый» в смысле «обслуживаемый процессом», «закрытый» в смысле «ни один процесс не прослушивает» или «отфильтрованный» в смысле «вообще не отвечает».
Если это действительно реализовано на самом сервере через iptables, то, имея root-доступ, вы можете прочитать и проанализировать текущую конфигурацию iptables, чтобы извлечь из нее информацию о том, какие порты проходят через него без изменений. Вам нужно будет решить для себя, будете ли вы включать порты, которые обрабатываются каким-либо нетривиальным образом (например, NAT), в категорию «разблокированные», «заблокированные» или другую.