Как определить какие используются порты?
Цепочка INPUT определяет судьбу пакетов, которые предназначены самому хосту (серверу в вашем случае).
А движение пакетов, которые идут клиентам или от клиентов, регулируется цепочкой FORWARD.
Существуют ли способы узнать какие порты и протоколы пытается использовать какая-либо сущность в ос?Есть старая команда netstat (кучу ключей, определяющих, что именно она показывает, смотрите в man netstat или в гугле). Есть более новая команда ss.
схема прохождения пакетов
netstat -tlp

Покажет все порты в состоянии LISTENING в системе. Лучше использовать с sudo, т.к. без него не будут писаться имена процессов которыми не владеет текущий юзер. Ну сама строка с соединением будет выведена, просто имени процесса не будет