Его действительно сложно найти, используя java. Для этого вам нужно написать довольно большие коды, проверяющие различные характеристики портов. Если у вас Google об этом, вы можете получить более подробную информацию об этом. Фактически, некоторые запросы должны быть отправлены в порт. Теперь различные приложения, работающие за этим портом, будут отвечать конкретными заголовками/баннерами/форматами, которые вы будете использовать, чтобы проверять различные предустановленные условия. Но это не 100% точный способ.
Smart Net Admins может подделать вас, поставив приманки за порт.
Вместо этого вы можете использовать Nmap для этого. Его инструмент командной строки, используемый в linux/windows/mac, который может помочь вам найти довольно много информации о порту.
Я считаю, что для Java есть оболочка nmap. Может быть, вам стоит это сделать. – nullpotent