Есть ли какой-нибудь способ выполнить команду (например, сообщение ICMP или другой протокол), получить ответ от удаленного компьютера (не из моей собственной локальной сети) и проанализировать сообщение, чтобы найти доказательства того, что на этом компьютере работает Windows или операционная система Linux?
windows
linux
networking
protocol
Диого
источник
источник
Ответы:
Это не является окончательным, но nmap сделает это с помощью команды
nmap -O -v
( см. Документацию для более подробной информации). Если вы работаете в Windows или хотите использовать графический интерфейс, посмотрите на zenmap.источник
Если вы в сети IPv4, просто используйте ping. Если ответ имеет TTL 128, цель, вероятно, работает под управлением Windows. Если TTL равен 64, цель, вероятно, использует какой-то вариант Unix.
источник
источник
Один из способов - использовать NMap . Из ответа можно догадаться об удаленной ОС.
источник
Пакет: xprobe 'ИЛИ' xprobe2
Описание: Идентификация удаленной ОС Xprobe2 позволяет вам определить, какая операционная система работает на удаленном хосте. Он отправляет несколько пакетов на хост и анализирует возвращенные ответы. Функциональность Xprobe2 сравнима с функцией снятия отпечатков ОС в nmap.
Пример:
$ sudo apt-get install xprobe
$ sudo xprobe2 -T21-23,80,53,110 ###. ###. ###. ###
Ссылка:
http://www.sys-security.com/html/projects/X.html
http://sourceforge.net/projects/xprobe/
источник
Старый пост, но я хотел бы добавить к этому тоже, если устройство поддерживает SNMP, вы также можете запросить sysDescr, который сообщит вам об используемой ОС.
Загрузите браузер MIB, хороший вариант которого я использую здесь: http://www.ireasoning.com/downloadmibbrowserfree.php . Вы в основном даете ему IP-адрес устройства и выполняете операцию обхода.
источник
Следуя предложению Johnathon64, вы можете использовать SNMP для запроса непосредственно на сервере - при условии, что удаленный сервер настроен на использование SNMP. Вы можете запустить запрос командной строки, такой как приведенный ниже, чтобы сделать это:
Объясняя саму команду:
snmpget
запросит объект sysDescr, который содержит имя объекта по умолчанию.sed
исключит начало вывода, которое содержит только опрошенный OID и начало строки.tr
исключает любые двойные кавычки, обычно встречающиеся в запросе SNMP.Последние две команды предназначены только для форматирования вывода - если они вам не нужны, можно использовать самую первую команду для извлечения полного вывода.
источник