Как узнать операционную систему компьютера по ip

Обновлено: 04.07.2024

Сервис позволяет узнать IP-адрес компьютера и определить местоположение по IP.

У вас есть свой сайт?

Часто задаваемые вопросы

Что такое IP адрес?

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

Зачем мне нужно знать свой айпи?

Если вы будете работать с защищенными сетями или сайтами, вам может понадобиться сообщить свой уникальный номер администратору. Проверка IP - довольно распространенный метод защиты от злоумышленников.

Если вы захотите скрыть следы своего пребывания в сети, вам тоже придется узнать IP-адрес, чтобы научиться скрывать его. Для этого используются различные прокси-серверы и анонимайзеры.

Хранится ли IP где-то на моем компьютере?

Да, вы можете узнать IP своего компьютера по данным сетевой карты. Если вы выходите в интернет через маршрутизатор, так часто бывает при подключении через провайдера, ваш IP-адрес в сети будет совпадать с адресом этого маршрутизатора, а не компьютера. Поэтому лучше проверить IP в одном из онлайн-сервисов, например, на этой странице.

Сообщает ли мой IP какие-нибудь данные обо мне или моем адресе?

Да, теоретически, если кто-то сможет узнать IP-адрес вашего компьютера, он сможет найти вас в реальном мире. На практике же вы, скорее всего, выходите в Интернет через маршрутизатор, так что можете не беспокоиться.

Мой IP в локальной сети отличается от IP на вашем сайте. Это нормально?

Так и должно быть. Чтобы установить "личность" компьютера, система должна проверить IP-адрес только в рамках сети. Соответственно, номер одной из трех машин в локальной сети и номер миллионного посетителя интернета не будут совпадать. Чтобы узнать IP компьютера в локальной сети, нужно набрать команду ipconfig в командной строке.

Как сделать так, чтобы IP не изменялся?

Через провайдера. Многие из них предлагают такую услугу. Стоит учесть, что в таком случае кто угодно сможет узнать ваш реальный IP. Через VPN. Также вы можете приобрести личный выделенный IP, тогда он будет фиксированным, но не вашим настоящим.

Может ли другой человек определить IP моего компьютера?

Да, но если вы зашли на страницу, на которой сохраняются данные. Ваш уникальный номер сохраняется во многих сервисах и часто, чтобы проверить IP вашего компьютера, даже не нужно выполнять никаких дополнительных действий. Некоторые платформы для блоггинга, например, автоматически сохраняют айпи любого, кто комментирует в блоге. Именно поэтому в интернете так популярны разные анонимайзеры. На данной странице, ваши данные не сохраняются.

Я использую прокси, но сервис показывает мой настоящий IP, как его скрыть?

Коротко о главном

В данной статье рассмотрен метод получения информации об операционной системе удаленного хоста, использующий механизм опроса стека TCP/IP удаленного хоста. Вначале представлены некоторые классические методы определения ОС удаленного хоста. Затем рассматриваются конкретные методы воздействия на удаленный хост, по результатам которых можно сделать определенные выводы об установленной на нем ОС. Наконец, рассмотрен механизм комплексного воздействия на удаленный хост, использующий комбинацию рассмотренных методов и реализованный в программе NMAP.

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

Допустим, осуществляется попытка проникновения в удаленный хост. В результате сканирования портов было обнаружено, что 53 - й порт хоста открыт. На основании данного признака можно предположить, что на хосте установлена одна из версий ОС UNIX , и выполняется одна из уязвимых версий демона bind . Если это весьма условное предположение является верным, атакующий имеет только одну попытку использовать обнаруженную "дыру", поскольку неудавшаяся попытка атаки "подвесит" демона и порт окажется закрытым, после чего атакующему придется искать новые "дыры" в безопасности удаленного хоста.

Если атакующий точно определит тип и версию ОС удаленного хоста (например, Linux kernel 2.0.35 или Solaris 2.51 ), он может соответствующим образом скоординировать свои действия, проанализировав информацию, касающуюся известных проблем в безопасности определенной ОС.

Используя программные средства, обеспечивающие определение ОС удаленного хоста, атакующий способен просканировать множество хостов и определить тип и версию ОС, установленную на каждом из них. Затем, когда кто-нибудь опубликует в сети Интернет информацию об обнаруженной "дыре" в безопасности конкретной ОС, атакующий автоматически получает список уязвимых хостов, на которых установлена данная версия ОС.

Информацию о типе и версии ОС удаленного хоста возможно использовать в качестве спекулятивного средства социальной инженерии. Например, атакующий получает от удаленного хоста следующую информацию :

DataVoice TxPort PRISMA 3000 T1 CSU/DSU 6.22

Следующим его шагом может быть звонок администратору данного хоста от имени службы поддержки DataVoice и подробный рассказ о мифической "дыре" в Prisma 3000 , с рекомендацией обязательной установки программы - "заплаты", "только что отправленной" по электронной почте администратору. "Заплата" на самом деле является закладкой, пересылающей атакующему все пароли системы. Как видно, информация об ОС хоста является основным оружием в руках опытного взломщика.

Классические методы определения операционной системы удаленного хоста

Существует масса различных способов получить информацию об ОС удаленного хоста. Удивительно, но самым эффективным из них и по сей день является следующий :

Connected to hpux.uaizu.ac.jp.

Escape character is '^]'.

HP-UX hpux B.10.01.A 9000/715 (ttyp2)

Как видно, не имеет смысла прибегать к различным ухищрениям, если удаленный хост сам сообщает о своей ОС. Основная масса разработчиков ОС поставляют свои продукты именно с такими заголовками, и многие системные администраторы забывают их отключить. Но даже если вывод заголовка отключен, большинство прикладных программ выдадут информацию, находящуюся в заголовке ОС хоста по первому требованию (если администратор не позаботился об отключении этой возможности). Например, FTP- сервер :

Escape character is '^]'.

220 ftp29 FTP server (UNIX(r) System V Release 4.0) ready.

Далее, применив команду SYST , можно получить более подробную информацию :

215 UNIX Type: L8 Version SUNOS

Кроме того, если имеется доступ к FTP , атакующий может просмотреть bin -файлы в каталоге /bin/ls и определить, в какой ОС они используются. Аналогичную информацию можно получить и от WEB- сервера :

Другие методы предусматривают просмотр базы данных сервера службы DNS (неэффективный метод, поскольку немногие из системных администраторов станут размещать эту информацию на DNS- сервере ) , а также упомянутую ранее социальную инженерию.

Метод опроса стека TCP/IP удаленного хоста

Как правило, реакцией сервера на любое удаленное воздействие (входящий пакет данных, запрос) является пакет данных, посылаемый источнику данного воздействия (в дальнейшем под термином "сервер" понимается атакуемый хост, а под термином "хост" - хост атакующего).

Как показывает практика, различные ОС при работе в сети по-разному реагируют на один и тот же запрос. Исследовав особенности реакций на запрос ОС, версии которых заранее известны, можно набрать определенную статистику, сопоставив реакции на запрос с типом ОС. При использовании комбинированного воздействия, статистическая информация становится более конкретизированной.

В дальнейшем, исследуя реакцию сервера с неизвестной ОС, с использованием накопленной статистики можно определить не только тип, но и версию установленной на сервере ОС. Например, возможно точно отличить Solaris 2.4 от Solaris 2.50 или Linux kernel version 2.0.30 ( для всех Linux далее указывается версия ядра) от Linux 2.0.35.

Рассмотрим более подробно основные методы исследования ОС сервера.

FIN- исследование

Перед началом непосредственного исследования хост сканирует порты сервера и определяет, какие порты являются открытыми. Затем на любой открытый порт сервера хост посылает FIN- пакет (TCP- пакет на завершение соединения) или любой другой пакет без флагов SYN и ACK . В соответствии с RFC 793 сервер должен ответить на такой пакет RST-пакетом, однако некоторые ОС типа Windows, BSDI, CISCO, HP/UX, MVS и IRIX не посылают ничего в ответ.

Исследование BOGUS- флагом

Хост посылает на сервер SYN- пакет с установленным в TCP- заголовке неиспользуемым "флагом" BOGUS . "Флаг" BOGUS не является настоящим флагом. На самом деле этот термин подразумевает установку бит в поле Reserved заголовка TCP- пакета как 1000000 (вместо всех нулей согласно RFC 793). ОС Linux до 2.0.35 сохраняет в ответе этот "флаг". Некоторые ОС обрывают соединение при получении такого пакета.

Определение закона изменения ISN сервера

Хост посылает на сервер SYN- пакет с запросом на соединение, записав в пакет свое (известное) значение ISN . Сервер, получив запрос на соединение, прибавляет к полученному ISN единицу и записывает полученное значение в поле ACK ответа (т.е. SYN|ACK-пакета), а в поле ISS ответа - свой собственный ISN , и передает пакет устанавливающему соединение хосту. На приемной стороне (т.е. на стороне хоста) пакет анализируется. Операция повторяется до тех пор, пока не будет выявлен закон изменения ISN сервера.

  • закон "постоянного приращения" (традиционный закон " +64" - старые версии UNIX): значение ISN сервера, записываемого в поле ISS ответа на запрос "установление соединения", увеличивается на постоянную величину (либо на 64) с каждым обрабатываемым запросом;
  • закон "случайных приращений" (новые версии Solaris, IRIX, FreeBSD, DigitalUNIX, Cray): приращение ISN носит случайный характер ;
  • истинно случайные значения (Linux 2.0.x, OpenVMS, новые AIX): значение ISN является случайной величиной ;
  • закон "время-зависимых приращений" (Windows): значение ISN периодически во времени увеличивается на некоторую небольшую величину ;
  • постоянный ( концентраторы 3Com [ISN=0x803], принтеры Apple LaserWriter [0xC7001]): значение ISN остается постоянным.

Анализируя принятые от сервера TCP- пакеты целесообразно обратить внимание на поле Window в их заголовках , поскольку значение этого поля является своеобразной константой, характеризующей ОС. В некоторых случаях для однозначного определения типа ОС достаточно извлечь значение поля Window в TCP- заголовке принятого от сервера пакета.

Так, ОС AIX - единственная ОС, имеющая значение Window=0x3F25 . " Полностью переписанный" стек TCP/IP в ОС Windows NT5 , равно, как и OpenBSD и FreeBSD , имеют Window=0x402E.

Исследование поля ACK в TCP- пакете

Рекомендацией RFC 793 определено стандартное изменение поля ACK в TCP- пакетах при установлении соединения, передаче данных и закрытии соединения. Однако в нестандартных ситуациях различные ОС по-разному устанавливают значение этого поля.

Исследование проводится следующим образом. На закрытый TCP- порт хост отправляет FIN|PSH|URG- пакет с известным значением ISN в поле ISS . Большинство ОС скопируют значение ISN, прибывшее в ISS , в поле ACK ответа. Однако ОС Windows и некоторые сетевые принтеры отправят в поле ACK ответа ISN+1 . Если хост пошлет SYN|FIN|PSH|URG- пакет, поведение Windows предсказать трудно. Иногда эта ОС отправляет в поле ACK ответа прибывший ISN, иногда - ISN+1, иногда - по всей видимости, случайное значение. Остается только догадываться, какой код написала Microsoft для обработки подобной ситуации.

Различные ОС по-разному искажают заголовок дейтаграммы. Например, ОС AIX и BSDI в IP-заголовке эха возвращают значение поля TotalLength на 20 байт больше первоначального значения исходной дейтаграммы. Некоторые версии ОС BSDI, FreeBSD, OpenBSD, ULTRIX и VAXen стирают поле ID в эхо- IP заголовке.

Не смотря на то, что поле "контрольная сумма" IP- заголовка так или иначе изменяется всвязи с изменением параметра TTL , некоторые ОС типа AIX, FreeBSD отправляют в эхо-дейтаграмме несоответствующую либо нулевую контрольную сумму. То же самое происходит и с контрольной суммой в UDP- пакете.

Исследование обработки фрагментов дейтаграммы

Как известно, протокол IP делит пакет на фрагменты для дальнейшей передачи их в сеть. На практике различные ОС могут по-разному осуществлять обработку перекрытия фрагментов. Так, некоторые ОС заменяют старый фрагмент, прибывший без ошибок, повторно прибывшим аналогичным. Другие ОС считают, что старый пакет имеет привилегию над аналогичным новым и игнорируют его. Исследуя закон перекрытия фрагментов можно сделать определенные выводы относительно типа ОС исследуемого сервера.

Исследование поля Options заголовка TCP- пакет а

  • опции TCP- протокола не являются обязательными, и не все ОС поддерживают их ;
  • узнать, поддерживает ли ОС опции TCP можно, послав на сервер запрос с указанием в соответствующем поле TCP- заголовка некоторый набор опций (а лучше всего - полный набор). Сервер укажет на поддержку определенных опций, установив соотв. значение в поле Options TCP- заголовка ответа и сбросит все остальные.

и получив от сервера ответ подобного рода

можно сделать вывод о том, что ОС сервера поддерживает опцию MaxSegmentSize.

Некоторые ОС, например, новые версии FreeBSD и последние версии Linux 2.1.x , поддерживают все опции, другие (например Linux 2.0.x ) - лишь небольшой набор опций.

Рассматривая приведенный выше пример, можно обратить внимание на то, что значение MaxSegmentSize (MSS) в запросе (256) отличается от значения ответа (1024). Поэтому, если несколько ОС поддерживают одинаковый набор опций, имеется возможность различения ОС по значению опций.

Кроме того, из примера видно, что опция MSS в ответе стоит на втором месте, а в запросе была указана на третьем месте. Эта особенность используется в случае, когда разные ОС имеют одинаковый набор опций с идентичными их значениями. При этом возможно различение ОС по порядку следования указанных в ответе опций.

Так, ОС Solaris возвращает :

или, кратко, NNTNWE . ОС Linux 2.1.122 возвращает MENNTNW . Одинаковый набор опций, одни и те же значения но - разный порядок их следования.

Исследование флага DontFragment в IP- заголовке

Многие ОС в определенных ситуациях не используют фрагментацию пакетов, и поэтому устанавливают флаг DontFragment (DF) в IP- заголовке отправляемой (нефрагментированной) дейтаграммы. Это повышает производительность ОС при работе в сети всвязи с уменьшением времени обработки передаваемых пакетов. Установив зависимость наличия (или отсутствия) данного признака в конкретной ситуации от типа ОС, можно в дальнейшем использовать его в одном из тестов на определение ОС сервера.

Исследование возможности "борьбы с затоплением" SYN- пакетами

"Затопление" SYN-пакетами является достаточно известным способом "завала" сервера, вызвав у него состояние "отказа в обслуживании". Суть этой атаки заключается в том, что при отправлении на некоторый открытый порт сервера определенного числа SYN- пакетов (запрос на установление соединения) с указанием несуществующего IP-адреса сервер перестает отвечать на все входящие на этот порт запросы.

Поэтому имеется возможность исследовать ОС сервера, послав на него 8 SYN -пакетов с указанием несуществующего IP- адреса в поле "источник" IP- заголовка (указание ложного источника позволяет избежать разрыва соединения между сервером и хостом) и затем проверить возможность установления соединения с сервером по тому порту, на который были отправлены SYN- пакеты.

Особенности ОС Windows

Несмотря на все выше перечисленные методы определения ОС сервера, практически невозможно различить стек TCP/IP у ОС Windows 95, Windows 98 и Windows NT всех версий, несмотря на то, что Windows 98 вышла позже Windows 95 на 4 года. Этот факт позволяет сделать вывод о том, что стек TCP/IP , положенный в основу Windows 95 , был скопирован в Windows NT 4.0 и, может быть, слегка изменен в Windows 98.

Поэтому атакующему, определив ОС сервера как Windows95/NT , достаточно опробовать известные методы атаки на эти ОС ( Ping of Death, WinNuke, Teardrop, Land ). Тем самым, работа сервера так или иначе будет нарушена.

Реализация метода комплексного опроса стека TCP/IP в NMAP

Рассмотрим реализацию метода исследования ОС удаленного хоста путем комплексного опроса его TCP/IP стека, называемым иначе методом снятия "отпечатков" стека TCP/IP и используемым в сканере NMAP.

Для определения ОС удаленного хоста, версия которой неизвестна, необходимо иметь определенную информацию о том, как ОС известных версий реагируют на определенные виды запросов, описанных выше, иначе говоря - составить "отпечаток" стека TCP/IP операционной системы.

Для этого необходимо удаленный либо локальный хост, тип и версия ОС которого заранее известны, протестировать всеми описанными выше способами, проанализировать результаты тестов и на основе полученных данных составить общую характеристику (или т.н. "отпечаток") стека TCP/IP удаленного хоста, привязав его к конкретному типу и версии ОС.

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

Алгоритм получения отпечатка стека TCP/IP следующий. Вначале проводится сканирование портов удаленного хоста с целью определения открытых портов и служб, функционирующих на исследуемом хосте. Затем проводится несколько тестов, поэтапно выполняющих опрос стека TCP/IP удаленного хоста с целью выявления рассмотренных выше признаков.

Заметим, что нет никакой разницы между алгоритмом получения отпечатка для хоста с известной ОС и для хоста с ОС, версия которой неизвестна. Вот пример одного из таких отпечатков, полученного для ОС IRIX версии 6.2 - 6.4.

FingerPrint IRIX 6.2 - 6.4

Для получения отпечатка было проведено 9 тестов. Далее подробно рассмотрен каждый из них. 1. Tseq ( ) - тест определения закона изменения ISN хоста. Указатель Tseq определяет закон изменения ISN сервера. Описание закона изменения ISN хранится в переменной Class (здесь и далее значения параметров указаны для ОС IRIX; для остальных ОС параметры те же, отличаются лишь значения). Для ОС IRIX закон изменения ISN описан как i800 (Increment 800 ). Это означает, что каждое последующее значение ISN на 800 больше, чем предыдущее. 2. T1(DF=N%W=C000|EF2A%ACK=S++%Flags=AS%Ops=MNWNNT) - тест определения TCP- опций. В данном тесте на открытый порт сервера хост посылает SYN- пакет с набором TCP- опций. В скобках записаны параметры, возвращаемые в ответе на посланный SYN- пакет :

DF = N - состояние флага DontFragment в IP- заголовке ответа ( N , т.е. 0 )

W = C000|EF2A - значение поля Window в TCP- заголовке ответа ( C000 либо EF2A)

ACK = S++ - значение поля ACK в TCP- заголовке ответа (S++ , т.е. посланный хостом ISN+1)

Flags = AS - состояние флагов в TCP- заголовке ответа (должны быть установлены флаги ACK (A) и SYN (S))

Ops = MNWNNT - набор TCP-опций (учитывается наличие опций и порядок их следования), указанных в TCP- заголовке ответа :

<MSS><NOOP><WindowScale><NOOP><NOOP><TimeStamp> 3. T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=) - тест обработки NULL- пакета. На открытый порт сервера хост отправляет "пустой" пакет с указанием TCP- опций, аналогичных предыдущему тесту.

Resp = Y - указатель, определяющий наличие или отсутствие ответа от сервера на подобный запрос. Данный указатель используется в том случае, когда конкретная ОС, для которой составлен отпечаток, может не ответить на запрос, используемый в тесте, тогда как другие ОС отвечают на подобный запрос (это и устанавливается указателем Resp=Y/N ) . В случае, если Resp не присутствует среди переменных, подразумевается, что на подобный запрос любая ОС пошлет ответ.

NMAP - в действии

Ниже приведены результаты использования программы NMAP для определения ОС реально существующих сайтов Internet . На всех сайтах заголовки ОС отключены как в приглашении, так и в различных прикладных программах. Результаты исследования следующие :

sunsite.unc.edu => Solaris 2.6

Автор выражает глубокую признательность всем тем, кто принимал участие в создании сетевого сканера NMAP а также многочисленной команде предварительного бета-тестирования данной программы. В частности, Jan Koum, van Hauser, Dmess0r, David O'Brien, James W. Abendschan, Solar Designer, Chris Wilson, Stuart Stock, Mea Culpa, Lamont Granquist, Dr. Who, Jordan Ritter, Brett Eldridge, и Pluvius за интернет-адреса сайтов с известными версиями ОС и готовые отпечатки для некоторых операционных систем.

Первый этап пентеста — это, как известно, разведка. После того, как вы определили, какая система работает на удаленном хосте, вы можете начать искать в ней уязвимости. В этой статье вы узнаете о семи инструментах, которые помогут на этом этапе, и в то же время вы увидите, как вычислить операционку на удаленном хосте.

Возможно, вы знакомы с термином TCP/IP stack fingerprinting, который обозначает, как работают такие инструменты.
Давайте рассмотрим наиболее подходящие утилиты, для этой цели, и попробуем оценить их возможности и особенности.

Небольшой экскурс в теорию

Очевидно также то обстоятельство, что удаленная система представляется нам «чёрным ящиком» на начальном периоде разведывательной деятельности, и мы знаем только IP- адрес. Необходимо выяснить все возможные порты на исследуемом хосте, какую операционную систему он имеет на борту, какое программное обеспечение там установлено и способен взаимодействовать с сетью. А если вы уже имеете определенную информацию, то можете приступать к поиску уязвимостей и думать о том, как их применять.

Для определения операционной системы на хосте используются пассивные и активные методы исследования. В первом случае используются такие инструменты, как Wireshark и анализ трафика. Во втором варианте используется принцип шаблонных порталов: каждая операционная система имеет свой характерный набор открытых портов, по которому можно постучать и оценить их доступную степень. И только после этого, смотря на эту картину, делайте соответствующие выводы. И в первом, и во втором случае мы исследуем появление отпечатков пальцев операционной системы, поэтому этот набор методов называется— fingerprinting.

В большинстве случаев, все методы пассивного анализа трафика основаны на изучении стека TCP / IP удаленного компьютера. При этом в заголовках пакетов содержатся поля, относящиеся к операционной системе. В частности, время жизни пакета TTL(Time To Live), равное 64, наиболее часто встречается в Linux и freeBSD. При отсутствии флага фрагментации (Don’t Fragment) это означает, что это OpenBSD. Еще один косвенный символ – это размер окна, максимальный размер сегмента(MSS), значение масштабирования оконного сегмента и состояние флага sackOK. Метод исключения позволяет определить ОС, которая используется на интересующем нас хосте. Для облегчения этого дела будут использованы утилиты из этой статьи.

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

Актуальная версия Nmap 7.80 обладает интуитивно понятным графическим интерфейсом, но для олдфагов предусмотрен режим работы из командной строки. В этом случае можно использовать команду nmap -O -PN [URL] , где URL — адрес исследуемого сайта. Совсем упертые могут скомпилировать тулзу из исходников, любезно опубликованных на сайте разработчиков.

Как вычислить операционку на удаленном хосте

Отчет о сканировании сайта утилитой Nmap

Диагноз об установленной на хосте операционной системе утилита выдает весьма приблизительный, но вероятность того или иного варианта может достигать 90% и даже больше. В принципе, этого вполне достаточно, чтобы понять, в каком направлении копать дальше.

Кроме этого, программа любезно показывает сведения о версии работающего там сервера, об открытых портах, информацию, полученную в результате обработки DNS-запросов, IP- и IPv6-адреса, данные Classless inter-domain routing (CIDR). Софтина может выполнить обратный просмотр DNS (reverse DNS lookup), а также выводит большой объем другой полезной инфы. В Nmap предусмотрено несколько сценариев сканирования, выбор которых зависит от целей исследователя.

Принципы работы программы подробно описаны в документации на официальном сайте, а если базовых возможностей Nmap тебе недостаточно, можно ознакомиться со статьей об их расширении. Утилита и впрямь очень мощная: она позволяет даже обходить файрволы, выполнять DoS и другие виды атак. Одним словом, полезный инструмент, если знаешь, как с ним обращаться.

NetworkMiner.

NetworkMiner — это анализатор трафика, который сами разработчики относят к категории Network Forensic Analysis Tool (NFAT). Тулза использует пассивный метод анализа удаленной системы, а значит, не оставляет никаких следов и позволяет исследователю действовать незаметно.

Как вычислить операционку на удаленном хосте

NetworkMiner позволяет отслеживать установленные соединения и анализировать передаваемые по сети пакеты, выуживая из них полезную информацию о хостах, с которыми твой компьютер обменивается информацией. В качестве исходных данных для анализа используется TTL (время жизни пакета), размер фреймов, установленные в заголовках пакетов флаги.

С помощью NetworkMiner можно исследовать и отдельные фреймы. Для этого служит вкладка Frames — здесь представлены данные о размере фрейма, IP-адресах и портах отправителя и получателя, а также прочие полезные сведения. Кроме этого, есть возможность анализировать баннеры демонов. Вся эта информация позволяет воссоздать структуру сети, где выполняется перехват пакетов: особенно это полезно для беспроводных сетей, внутренняя кухня которых тебе незнакома.

В общем, перед нами вполне себе мощный сниффер, способный творить волшебство в умелых руках. Ну а фингерпринтинг и определение ОС — лишь одна из его широчайших возможностей.

p0f v3.

Это не просто довольно известный сниффер, а программа, объединяющая целый комплекс механизмов для анализа перехваченных пакетов и фингерпринтинга. При этом определение типа ОС на удаленном узле (даже в случаях, когда Nmap с этой задачей не справился, например из-за использования в сети брандмауэра) заявляется разработчиками в качестве одной из основных функций.

Имеется несколько режимов работы программы, которые можно использовать в зависимости от конфигурации сети и стоящей перед исследователем задачи:

  • режим SYN, подразумевающий исследование входящих соединений;
  • режим SYN+ACK — исследование исходящих подключений;
  • режим RST+ подразумевает исследование трафика для узла, находящегося за файрволом, который отклоняет подключения;
  • режим MiTM — исследование соединения между узлами, трафик которых ты можешь сниффить без вмешательства с твоей стороны.

Кроме того, p0f умеет определять, работает ли в сети NAT, шейперы или файрволы, отслеживать трассировку пакета до заданного узла и вычислять его аптайм. При этом тулза не генерирует никаких собственных запросов и прочего подозрительного трафика, что само по себе неоспоримое преимущество, если исследователь желает оставаться в сети незамеченным.

Версия p0f v3 была переписана разработчиками с нуля, поэтому «база отпечатков» там не самая полная. Если верить официальному сайту, программе не хватает данных о старых версиях операционных систем вроде Windows 9x, IRIS и им подобных. Но пользователи могут помочь проекту, добавив в базы результаты собственных экспериментов с программой.

NetScanTools.

А вот коммерческая версия Pro может похвастаться более широкими возможностями. Она умеет работать с различными протоколами, включая ARP и SNMP, перехватывать и анализировать пакеты, получать DNS-записи для заданных IP-адресов, искать открытые TCP- и UDP-порты на удаленном хосте, определять поддерживаемые им версии SMB, искать устройства в сети, в том числе SMTP-серверы с открытыми релеями. В сети Active Directory NetScanTools может найти все расшаренные папки, даже скрытые. В составе софтины есть генератор пакетов TCP, UDP, ICMP, CDP, RAW, в котором можно менять различные параметры, благодаря чему NetScanTools легко и непринужденно превращается во флудер.

Как вычислить операционку на удаленном хосте

В целом можно сказать, что NetScanTools Pro довольно интересный проект, включающий инструментарий для активного и пассивного исследования сети. Только вот прайс в 249 долларов немного кусач, особенно если учесть, что вполне себе бесплатные NetworkMiner и Nmap обладают практически тем же набором базовых функций. Впрочем, с сайта разработчиков можно скачать 30-дневную триальную версию, которая поможет тебе решить, стоит ли искать кряк пачку баксов, или лучше воспользоваться фриварным софтом.

X probe.

Это линуксовая утилита, использующая активные методы фингерпринтинга на основе тех же методик и сценариев, что применяются в Nmap. Одна из наиболее интересных особенностей X probe — умение обнаруживать ханипоты (серверы-приманки, специально созданные для ловли доверчивых хакеров) и подозрительные узлы с измененными настройками стека TCP/IP.

С использованием заложенных в софтину алгоритмов нечеткой логики X probe позволяет обнаруживать сервисы, скрытые брандмауэром. Помимо определения ОС на удаленном хосте с использованием ICMP-запросов, в возможности программы входит сканирование TCP- и UDP-портов. К сожалению, последняя версия утилиты датирована 2014 годом и, похоже, с тех пор проект практически не развивается.

Ettercap.

Ettercap — это широко известный в узких кругах сниффер, часто используемый для атак типа MiTM. Работает он практически во всех линуксах, кроме OpenSuSe, а также на платформах UNIX/BSD, кроме Solaris. Говорят, особо могучие шаманы запускали Ettercap даже на macOS, но документального подтверждения этим слухам нет, ибо те, кому это удалось, погибли, лопнув от гордости.

После установки и запуска Ettercap начинает сниффить трафик в сети и собирать результат в создаваемых программой профайлах, откуда его можно извлечь для анализа. Этот анализ позволяет установить, в частности, такие данные, как IP-адрес, имя и тип хоста, предположительная версия работающей там ОС, открытые поры и запущенные сервисы. Вполне достаточный стартовый набор для любого исследователя.

THC-Archive.

Некоторые наивные сисадмины искренне надеются, что смогут защитить себя от атаки, если поднимут, например, FTP-сервер, SSH или Telnet на каком-нибудь нестандартном порте вместо привычного. Вот с такими админами и призван бороться Amap.

Обычные сканеры стучатся на стандартные порты, анализируют полученные отклики и, если они не соответствуют ожидаемому, обламываются. Amap вместо этого опрашивает весь диапазон портов и сверяет отклики со своей базой данных в поисках соответствия. Таким образом, сервис, работающий на каком-либо порте, идентифицируется по его характерным признакам, содержащимся в ответе.

Чтобы облегчить себе жизнь, можно использовать Amap совместно с любым другим сканером. Сканер определяет список открытых портов на интересующем нас хосте, а Amap потом прощупывает этот диапазон и выясняет, какие именно службы юзают эти порты и что полезного из этого может извлечь исследователь. На страничке The Hacker’s Choice можно скачать Amap как под винду, так и под Linux, представлены все версии утилиты, начиная с самых ранних.

Заключение

При проведении теста на проникновение важно знать о том, что сейчас за ОС стоит на компьютере жертвы. А если известно наличие дыр в защите компьютера, то задача по взлому упрощается до минимума.

Если ты начинаешь интересоваться вопросами сетевой безопасности, то рано или поздно перед тобой встает вопрос: "А с чем я собственно я имею дело"? Т.е. ты логично подкатываешься к вопросу определения типа и версии операционной системы удаленного сервера. Итак, как это проделать:

Способ второй: запушенные сервисы. Просканируй цель на предмет открытых портов - открытый порт это и есть сервис. Некоторые сервисы являются специфичными для определенного вида ОС, а по их версии можно определить с какой операционкой имеешь дело (Лучше всего именно так определять NT 4.0, 5.0). Кроме того, версию ОС иногда можно определить по баннеру сервиса (надписи, которую ты видишь когда соединяешься с данным сервисом - особенно этим грешит Ftp).
Плюсы: высокая надежность
Минусы: в случае с Unix`ом нельзя быть 100% уверенным, что исходя из версии сервиса ты сделал единственно правильный выбор

Способ третий: Netcraft - web-сервис, который абсолютно бесплатно ответит тебе на вопрос "What's that site running", что означает "на чем сайт запущен". Чтобы это узнать достаточно только ввести адрес сайта в соответствующее окошко и нажать "examine" (проверить). Кроме версии ОС и http-демона, NetCraft сообщит тебе также время с момента последней перезагрузки сервера и владельца той зоны IP-адресов, в которой находится искомый сервер (кстати, уйдя по ссылке на владельца зоны, ты увидишь какие еще сайты вращаются в одной подсетке с разрабатываемым). Еще одна приятная фенечка NetCraft`а - это показ истории по данному сайту, т.е. если кто-то интересовался им до этого, будет показано, что "в прошлом месяце была такая Ось, а в позапрошлом - вот такая…".
Плюсы: очень простой способ и при этом очень эффективный. Более чем в 50% случаев NetCraft отлично справляется со своей работой.
Минусы: на сервере должен быть запущен www-сервис

Способ четвертый: определение ОС с помощью различных прог. Самый продвинутый способ из всех вышеперечисленных. В основном, принцип действия этих программ основывается на технологии "OS Fingerprints" (отпечатки операционной системы) - это та самая технология, которая сделала сканнер NMAP таким знаменитым. Работает все это примерно так: анализируются пакеты, приходящие от удаленной системы, в них находятся определенные конструкции, специфичные для определенной версии операционной системы - их то и называют "отпечатками пальцев".
Плюсы: очень надежный способ, неверный результат практически исключен
Минусы: программа обязательно должна знать определяемую Ось, поэтому, если версия программу довольно древняя, а
операционка новая - то…сам понимаешь…

Хотелось бы заметить, что насладиться этими программами смогут лишь пользователи Unix. Вот некоторые из них:

NMAP - сканирование хоста и определение операционной системы в одном флаконе. Очень известная программа, единственная из рассматриваемых портирована под NT (NT-версию можно найти на
www.eeye.com). Непосредственно определение Оси происходит посредством опции "-О" программы.
Unix-версию можно слить отсюда.

Passive OS Detection tool - наверное самая маленькая программа из подобных. Рекомендуется для ознакомительного использования. Текущая версия 1.8, взять можно
отсюда.

И напоследок: все методы, даже собранные в
единый кулак, не могут дать 100% уверенности,
полученные данные надо тщательно
анализировать и думать над их
интерпретацией. Ярчайший и очень хороший
пример такой работы - наша первая "Головоломка
для хакеров".

Как узнать IP-адрес компьютера

Многие пользователи знают, что IP-адрес – важная часть локальных и глобальных сетей, но без понятия, где и зачем его искать. В этой статье разберемся с полноценным назначением IP, разберем типы адресов и научимся находить числовую последовательность на любом устройстве.

Что такое IP-адрес

IP-адрес (англ. Internet Protocol Address) – уникальная числовая последовательность, идентифицирующая устройства в сетях и обеспечивающая соединение между ними. Почему используется именно этот стандарт?

Компьютер, сервер и смартфон не понимают привычных человеку символов. Все данные между физическими системами передаются в виде цифр. Чтобы информация приходила к нужному устройству, последние именуются особой числовой последовательностью. Это очень удобно: машины никогда не запутаются, а чисел настолько много, что их легко сделать уникальными.

Как устроена локальная сеть

Типы IP-адресов

Наиболее известный тип – внешний IP-адрес, который отображает устройство в глобальной сети. Его выдает интернет-провайдер, предоставляя роутеру, модему или напрямую подключенному компьютеру доступ к серверу.

IP бывает динамическим и статическим. Динамический адрес выдается автоматически при соединении с интернетом и меняется после переподключения. Чаще всего юзерам выдается именно динамика, так как провайдеру выгодно «гонять» адреса между клиентами; такой IP называется «серым», то есть им пользовалось несколько устройств.

Статический адрес навсегда присваивается конкретному устройству. Многие провайдеры предлагают статический IP как дополнительную услугу. Очевидный плюс – нет следов других пользователей, которые могли бы «очернить» репутацию адреса (например, получить блокировку по IP на каких-то ресурсах). Также с постоянным адресом легче настраивать технику и контролировать подключения устройств.

Существует еще один тип – внутренний. Он используется устройством для решения локальных задач: работа внутри закрытой сети компьютеров, подключение периферии, связь с роутером. Адреса получают принтеры, телевизоры, смартфоны, умная техника.

Не стоит путать IP с MAC; последний присваивается на заводе и идентифицирует физические свойства. MAC редко используется обычными пользователями, однако может выручить в локальной сети: например, родители по MAC-адресу могут запретить ребенку выходить на определенные интернет-ресурсы.

Почему полезно знать IP-адреса

Узнав внешний IP-адрес, вы сможете пробить его на предмет «чистоты», посмотреть подробную информацию о провайдере, а также работать с удаленными системами, указывая актуальную информацию. Геймеры, открывающие сервер на своем компьютере, отправляют другим игрокам именно внешний IP.

К серверам подключаются по внешнему IP

Порой внутренний адрес знать полезнее, чем внешний. Вы сможете видеть в роутере подключенные устройства и удалять «незваных гостей». Иногда при подключении дополнительной техники (принтер, СМАРТ-телевизор и т.д.) приходится вручную менять или указывать адреса устройств.

Как узнать внешний IP-адрес

IP-адрес в Яндексе

Открытый внешний адрес – не повод для беспокойства. Это всего лишь информация о сервере провайдера, с которым будут связываться интернет-ресурсы. В крайнем случае используйте VPN.

Поиск внутреннего IP

В зависимости от операционной системы меняется и принцип поиска внутреннего IP. В Windows проще всего работать через командную строку. Чтобы ее открыть, кликните правой кнопкой мышки на «Пуск» и выберите заголовок «Командная строка». Если у вас Windows 7, зажмите «Win+R», пропишите cmd и нажмите «Enter». В появившемся окне пропишите ipconfig и снова «Enter». IPv4-адрес – и есть числовое имя компьютера.

Поиск внутреннего IP через командную строку

Если нужно добавить собственный IP, перейдите в «Панель управления» и найдите «Центр управления сетями и общим доступом». В нем будут отражены все внешние и внутренние подключения. Допустим, вы хотите изменить конфигурацию Ethernet. Кликайте на соответствующий заголовок и в открывшемся окне нажмите на «Свойства». Среди отмеченных компонентов нас интересует «IP версии 4», его и открываем. Снимаем флажки с «Получить IP-адрес автоматически» и указываем другой адрес.

Оболочки Android отличаются расположением настроек, однако чаще всего информация о локальном IP расположена в разделе беспроводных подключений. Если отыскать данные не получается, установите бесплатную программу IP Tools: Wi-Fi Analyzer.

Чтобы посмотреть IP в macOS, следует зайти в «Системные настройки» и выбрать «Сеть». В окне нужно отыскать нужное подключение и кликнуть по нему. Внутренний адрес появится под статусом и настройками конфигурации.

В iOS отыскать информацию о сети также просто: перейдите в настройки Wi-Fi и нажмите на круглую иконку «i».

Возможно ли узнать чужой IP

Данные об IP другого человека можно получить через сервис IP Logger. Он абсолютно легален, потому что сетевые адреса и так доступны всему интернету. Создайте на сайте ссылку, по которой должен кликнуть человек (это обязательное условие), затем отправьте ее по каналам связи и ждите фидбэка.

Теперь вы знаете, что узнать внешний и внутренний IP-адреса проще, чем кажется.

Читайте также: