Результат Nmap показывает HTTP-прокси на порте 8080. Как узнать, прокси он или нет, не проверяя его?
8080/tcp open http-proxy
Это зависит от конкретных параметров, которые вы используете для сканирования портов с помощью nmap
в большинстве случаев Nmap просто определит, открыт ли порт и прослушивает его, и выполнит преобразование имени этого номера порта в имя службы на основе /etc/services
или аналогичная таблица. фактическая служба на конкретном порту, например 8080
может быть чем-то совершенно другим, и вам действительно нужно будет гораздо больше подключаться и тестировать, чтобы получить фактическую услугу
когда вы используете некоторые из более полных опций для определение службы и версии Такие как -sV
—version-all
Nmap уже проделал для вас много отпечатков пальцев и тестирования, и тогда отчеты службы Nmap будут довольно точными.
Вы не можете сказать.
Кто угодно может запустить любую службу на порту 8080: обычный HTTP-прокси, HTTP-прокси-сервер CONNECT, обычный HTTP-сервер или даже SSH-сервер, если вы действительно этого хотите!
HTTP - это протокол, по которому клиент отправляет запрос до того, как сервер отправит приветствие. Таким образом, если вы подключитесь к порту, вы ничего не увидите. Хотя это может указывать на HTTP в качестве протокола, вы не можете сказать, сервер это или прокси, а также не можете быть на 100% уверены, что это протокол HTTP.
Во многих протоколах сервер отправляет приветствие перед клиентом, например, почтовые протоколы, SSH, TLS (ну, в SSH и TLS и клиент, и сервер отправляют приветствие). Таким образом, вы можете исключить некоторые протоколы, подключившись к порту и наблюдая, есть ли приветствие. Но вы не можете исключить их все, и даже тогда, если вы подозреваете, что это протокол HTTP, вы действительно не знаете, прокси это или сервер.
Если ваш порт не является значением по умолчанию 3128, Nmap не обнаруживает HTTP-прокси.
Однако мне удалось подделать неверный запрос к порту, в результате чего прокси-сервер будет выдавать ответ, который будет содержать идентификаторы, которые могут помочь идентифицировать службу.
% echo foo | nc <proxy_ip> <proxy_port> | grep Server
Конечно, администратор сервера может усилить защиту, удалив идентифицирующие заголовки, но все же, вероятно, довольно легко обнаружить с помощью этой методологии.