Как определить фактическую службу, работающую на порту удаленного сервера, через терминал?

Как определить фактическую службу, работающую на порту удаленного сервера, через терминал?

Я использовал nmap на своем целевом сервере, который возвращает следующие службы

PORT     STATE SERVICE       VERSION
53/tcp   open  domain?
80/tcp   open  http          Microsoft IIS httpd 10.0
88/tcp   open  kerberos-sec  Microsoft Windows Kerberos (server time: 2021-03-17 07:07:34Z)
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
389/tcp  open  ldap
443/tcp  open  https?
445/tcp  open  microsoft-ds?
464/tcp  open  kpasswd5?
593/tcp  open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp  open  tcpwrapped
3268/tcp open  ldap
3269/tcp open  tcpwrapped
3389/tcp open  ms-wbt-server Microsoft Terminal Services

Вопрос в том, как определить истинную службу, работающую на порту, который Nmap мог ошибочно определить. Например, на порту 53, как я могу убедиться через терминал, что на нем работает служба DNS?

Какой метод я могу использовать? У меня нет доступа к целевому серверу, поэтому я не могу видеть процессы, запущенные на сервере.

решение1

Как отмечает Штеффен, чтобы узнать, работает ли сервер X на порту Y на хосте Z, нужно запустить клиент, который использует тот же протокол, что и X, и указать ему порт Y на хосте Z. Например, чтобы проверить, работает ли данный сервер на DNS, можно использовать любой из множества DNS-клиентов, например nslookup.

Конечно, это ничего не говорит вам о том, что на самом деле там работает, кроме того, что он совместим с протоколом, который вы использовали. Сервер может быть практически чем угодно. Например, прослушиватель на порту 80 (из вашего примера) может быть просто крошечным скриптом, который просто отвечает на любые TCP-рукопожатия `HTTP 201 No content\r\nServer: Microsoft IIS httpd 10.0\r\n\r\n", что является приблизительно допустимым ответом HTTP (хотя он может отправить его, даже если клиент не отправлял HTTP-запрос), но это не означает, что прослушиватель является в каком-либо полезном смысле веб-сервером, не говоря уже о том, что это именно IIS 10.0.

Встроенные скрипты распознавания Nmap, вероятно, лучше распознают большинство серверов, чем вы, хотя они также очень негибкие и могут быть легко обмануты, если кто-то попытается. Человек, знакомый с инструментами и протоколами, о которых идет речь, вполне может извлечь больше информации, чем скрипты, в необычных случаях (например, когда один сервер выдает себя за другой или когда администратор намеренно скрыл обычные «подсказки», которые идентифицируют сервер согласно Nmap). Однако передача даже основ такого рода знакомства в целом выходит за рамки этого ответа или, по сути, этого сайта.

Связанный контент