Назад | Перейти на главную страницу

Как проверить связь с сервером, чтобы узнать, на какой ОС или другом программном обеспечении он работает?

Иногда я смотрю такие сайты, как netcraft и мне любопытно, есть ли ненавязчивый способ проверить связь с сервером и посмотреть, какое общедоступное программное обеспечение на нем запущено? Используют ли такие сайты, как netcraft, сложную эвристику для вывода своих данных, или могут ли определенные виды (не оскорбительных) запросов приводить к прямым ответам?

NMAP позволяет выполнять обнаружение ОС и идентификацию службы. Я не знаю, как это делает netcraft - а использование nmap может очень быстро выйти из категории «ненавязчивых». Но вы точно можете протестировать это на месте ...

Я думаю, что NetCraft использует заголовок Server:, возвращаемый веб-сервером. Для этого не нужны специальные инструменты.

$ curl -I http://www.microsoft.com | grep "Server:"
Server: Microsoft-IIS/7.0
$ curl -I http://www.apache.org | grep "Server:"
Server: Apache/2.2.9 (Unix)

Он основан на отпечатке ICMP в пакетах, которые вы возвращаете (если вы их получите). Разные IP-стеки по-разному отвечают на эхо, и это дает вам представление о том, что находится внутри. Проверьте этот вне.