когда я делаю
nmap localhost
я получил
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
646/tcp open unknown
какой порт 646?
Вы должны увидеть, что работает на этом порту, с помощью
netstat -tunlp | grep 646
Из комментариев
tcp 0 0 0.0.0.0:646 0.0.0.0:* LISTEN 2584/rpc.statd
Это указывает на то, что rpc.statd (PID 2584) прослушивает порт 646. Процесс rpc.statd является частью реализации NFS.
Поскольку на вопрос уже дан ответ, я дам ответ с более подробной информацией.
Nmap показывает открытые порты, пытаясь к ним подключиться. Если он получает положительный ответ, он сообщает, что порт открыт, и дает немного больше информации ( SERVICE
столбец) на основе поиска в таблице в nmap-services
файл. Для портов, для которых нет записи в этом файле, он сообщает unknown
.
Операционная система отсканированной машины знает все о том, какие порты открыты, поскольку она должна обрабатывать нижние уровни сетевой связи, чтобы передать данные приложению (или программе), которое их слушает. В Windows, Linux и большинстве систем * nix пользователи могут получать информацию об открытых портах непосредственно из ОС с помощью netstat
команда. Далее, с -p
вариант (-b
в Windows) привилегированные пользователи (например, root) могут видеть имя и идентификатор процесса (PID), который использует каждый порт.
Nmap не ограничивается поиском информации о портах в nmap-services
. Когда пользователь запрашивает определение версии службы (-sV
), Nmap отправляет данные на порты, которые он обнаруживает как открытые, затем сравнивает ответы с обширным списком отпечатков службы, генерируя более подробную информацию, например:
PORT STATE SERVICE VERSION
646/tcp open rstatd (rstatd V1) 1 (rpc #100001)