Мережевий сканер Nmap та його можливості. Як запустити просте сканування Nmap Nmap Початок використання

Ви турбуєтеся про безпеку вашої чи якоїсь іншої мережі? Захист вашого маршрутизатора від небажаних підключень є запорукою безпеки вашої мережі. Одним з простих методівє Nmap або Network Mapper. Це програма сканування, яка перевіряє які порти відкриті та які закриті, а також інші деталі. Спеціалісти з безпеки використовують цю програму для тестування безпеки мережі. Щоб навчитися використовувати цю програму, дивіться Крок 1.

Кроки

Використання Zenmap

    Завантажте інсталятор Nmap.Ви можете знайти установник на сайті розробників та завантажити безкоштовно. Рекомендується завантаження саме з сайту розробників, щоб уникнути ризику завантаження вірусів або підмінених файлів. Завантажуючи Nmap ви одночасно отримати Zenmap, графічний інтерфейс для Nmap, що робить програму простою у використанні для новачків при скануванні без знання команд.

    • Програма Zenmap доступна для операційних систем Windows, Linux, та Mac OS X. Ви можете знайти інсталятори на офіційному сайті Nmap.
  1. Запустіть програму “Nmap – Zenmap” GUI.Якщо під час встановлення ви залишили всі пункти не зворушеними, то іконка програми має з'явитися на робочому столі. Якщо ні, перегляньте меню старт і запустіть Zenmap.

    Введіть мету вашого сканування.Програма Zenmap перетворює сканування мережі на дуже простий процес. В першу чергу оберете мету сканування. Ви можете ввести домен (example.com), IP-адресу (127.0.0.1), мережу (192.168.1.0/24) або комбінацію перелічених.

    • Залежно від завантаження та мети вашого сканування, використання Nmap може виявитися порушенням правил користувача вашого інтернет провайдера. Завжди перевіряйте місцеві правила користувача під час використання Nmap у випадках сканування цією програмою поза вашою власною мережею.
  2. Виберіть ваш профіль.Профілі являють собою групу модифікацій, які змінюють структуру сканування. Профілі дозволяють швидко вибрати різні типисканів без необхідності набору модифікацій у командному рядку. Виберіть найкращий профіль для ваших потреб:

    • Intense scan- широке сканування. Включає розпізнавання операційної системи, версії, скриптів, трасування та має агресивний час сканування.
    • Ping scan- це сканування, що визначає онлайн статус мети вашого сканування, і не сканує порти.
    • Quick scan- сканує швидше, ніж звичайний скан з агресивним часом сканування та вибірку портів.
    • Regular scan- це стандартні Nmap скан без будь-яких модифікацій. Результат включає пінг та відкриті порти.
  3. Натисніть Scan, щоб розпочати сканування.Активні результати сканування відображатимуться у вкладці Nmap Output. Час сканування залежатиме від вибраного профілю, фізичної відстані до мети та мережної конфігурації.

    Подивіться ваші результати.Після закінчення скана ви побачите повідомлення “Nmap is done” внизу вкладки Nmap Output. Тепер ви можете перевірити результати, залежно від типу вибраного скана. Всі результати зібрані у вкладці Output, але, вибираючи інші вкладки, ви можете детальніше вивчити результат, що вийшов.

    • Ports/Hosts- Ця вкладка покаже сканування портів, включаючи служби, що працюють на цих портах.
    • Topology- Показує трасування для виконаного сканування. Ви можете подивитися через скільки стрибків ваші дані доходять до потрібної мети.
    • Host Details- показує повну інформацію про мету, кількість портів, IP-адреси, імена хостів, операційні системи та інше.
    • Scans- Ця вкладка записує історію ваших попередніх сканів. Таким чином, ви можете швидко перезапустити скан, виконаний у минулому, з певним сетом параметрів.

Використовуючи командний рядок

  1. Встановіть Nmap. Nmap є невеликим і безкоштовною програмою. Ви можете завантажити програму на сайті розробника. Дотримуйтесь інструкцій, виходячи з вашої операційної системи:

    Відкрийте ваш командний рядок.Команди Nmap працюють із командного рядка і показують результати відразу під командою. Можна змінити параметри, щоб змінити структуру сканування. Ви можете запустити сканування з будь-якого місця, прописаного у вашому командному рядку.

  2. Проведіть скан потрібних вам портів.Щоб розпочати просте сканування, напишіть nmap . Таким чином розпочнеться пінг обраної мети та сканування портів. Цей скан дуже легко розпізнати. Результати буде видно на вашому екрані. Можливо, вам доведеться прокрутити нагору, щоб побачити результати повністю.

    • Залежно від завантаження та мети вашого скана, використання Nmap може виявитися порушенням правил вашого інтернет-провайдера. Завжди перевіряйте місцеві правила користувача під час використання Nmap у випадках сканування цією програмою поза вашою власною мережею.
  3. Проведіть модифіковане сканування.Ви можете використовувати командні змінні, щоб змінити параметри сканування, в результаті одержуючи більш-менш широке сканування. Ви можете додати кілька змінних залишаючи пробіл між кожним. Змінні ставляться до мети: nmap

    • -sS– це приховане сканування SYN. Це сканування складніше знайти, ніж звичайне, але може зайняти довше часу для завершення. Більшість нових фаєрволів можуть виявити сканування -sS.
    • -sn- це сканування пінгу. Це сканування не використовує виявлення портів і лише перевіряє онлайн статус мети.
    • -O- це сканування визначає вид операційної системи мети.
    • -A- ця змінна включає виявлення ширшої інформації: операційна система, версія, скрипти, і трасування.
    • -F- включає швидке сканування, і зменшує кількість портів, що скануються.
    • -v- ця змінна показує більше результатів вашого сканування, роблячи їх читабельними.
  4. Виведіть результати вашого сканування у файл XML.Ви можете налаштувати виведення результатів вашого сканування в XML файл і, надалі, легко відкрити їх у будь-якому веб-браузері. Щоб це зробити, використовуйте змінну -oXз назвою файлу для виведення даних. Повністю команда виглядає у такий спосіб nmap –oX ScanResults.xml .

    • Ваш XML файл буде збережено в поточній директорії роботи вашого командного рядка.
  • Цікаво, як відбувається сканування? Натисніть пробіл, або будь-яку кнопку під час роботи скана, щоб переглянути прогрес Nmap.
  • Ціль не відповідає? Спробуйте додати змінну “-P0” до сканування. В результаті сканування Nmap почне свою роботу, навіть якщо програма "думає", що мети не існує. Це буває корисно, коли комп'ютер захищений фаєрволом.
  • Якщо ваше сканування займає великий час (більше 20 хвилин), спробуйте додати змінну "-F", таким чином Nmap сканування торкнеться тільки порти, що недавно використовувалися.

Одна з найвідоміших функціональних можливостей Nmap це віддалене визначення ОС з урахуванням аналізу роботи стека TCP/IP. Nmap посилає серію TCP та UDP пакетів на віддалений хост та вивчає практично кожен біт у відповідях. Після проведення дюжини тестів таких як TCP ISN вибірки, підтримки опцій TCP, IP ID вибірки та аналізу тривалості процедури ініціалізації, Nmap порівнює результати зі своєю nmap-os-db базою даних, що складається з більш ніж тисячі відомих наборів типових результатів для різних ОС і , під час знаходження відповідностей, виводить інформацію про ОС. Кожен набір містить вільний текстовий опис ОС та класифікацію, в якій вказано назву виробника (напр. Sun), назву ОС (напр. Solaris), покоління ОС (напр. 10) та тип пристрою (). OS, а також класифікація яких забезпечується електронною поштою (e.g. Sun), underlying OS (e.g. Solaris), OS generation (e.g. 10), і device type (для загальних цілей, роутер, комутатор (switch), ігрова консоль і т.д. .).

Якщо Nmap не може визначити ОС, але для цього є хороші передумови (наприклад, принаймні знайдені один відкритий і один закритий порти), то Nmap надасть URL, за яким, якщо ви точно знаєте, яка ОС використовується, ви зможете надати набір її характеристик. Тим самим ви зробите свій внесок у доповнення бази даних відомих ОС Nmap, і вона буде більш корисною для всіх інших.

Опція визначення ОС також активує проведення деяких інших тестів, які дозволяють скористатися інформацією, що збирається в процесі роботи. Один із них Класифікація Передбачуваності Послідовності TCP (TCP Sequence Predictability Classification). Це дозволяє приблизно визначити, наскільки складно встановити помилкове з'єднання TCP з віддаленим хостом. Це може бути корисно для злому та експлуатації програм, що базуються на довірчих відносинах (rlogin, фільтри брандмауерів і т.д.) або приховування джерела атаки. Цей тип спуфінгу (spoofing) тепер рідко використовується, але багато машин все ще вразливі до таких атак. Число, що характеризує складність, базується на статистичній вибірці і може вагатися. Зазвичай краще використовувати класифікацію з використанням англійських фраз типу « worthy challenge(гідне випробування)» або « trivial joke (жартівлива справа)» . Ця інформація буде виведена лише при увімкненому вербальному режимі (-v). Коли вербальний режим активований разом із опцією -O , то виводиться також інформацію про генерації IP ID послідовності. Більшість машин перебувають у класі « incremental (зростаючий)» , що означає, що вони збільшують поле ID в IP заголовку для кожного надісланого пакета. Це робить їх вразливими до спуфінгу атак і атак з метою збору розширеної інформації.

Також під час визначення ОС робиться спроба дізнатися про час роботи цільової машини. За допомогою тимчасових міток (timestamp) TCP (RFC 1323) Nmap намагається вгадати, коли машина була перезавантажена востаннє. Інформація то, можливо точна, т.к. лічильник тимчасової мітки не був обнулений або переповнений, або якимось чином прихований. Інформація виводиться лише у вербальному режимі.

Паперова документація щодо роботи, використання та налаштування опції визначення ОС знаходиться на .

Функція визначення ОС включається та керується за допомогою наступних опцій:

O (Включити визначення ОС)

Включає функцію визначення ОС, робота якої описана вище. Ви також можете використовувати опцію -A , яка, крім інших функцій, включає визначення ОС.

--osscan-limit (Використовувати функцію визначення ОС тільки для "перспективних" хостів)

Функція визначення ОС набагато ефективніша, якщо виявлено принаймні один відкритий і один закритий TCP порти. Задайте цю опцію, і Nmap не намагатиметься навіть визначити ОС хостів, що не задовольняють цьому критерію. Це допоможе заощадити масу часу, особливо при -PN сканування багатьох хостів. Ця опція діятиме лише при включенні функції ОС шляхом завдання опцій -O або -A.

--osscan-guess; --fuzzy (Вгадати результати визначення ОС)

Коли Nmap не може визначити точний збіг, вона іноді надає найбільш близькі до результатів сканування збігу. Щоб Nmap зробила це за умовчанням, збіги мають бути дуже близькими. Будь-яка з цих (рівних) опцій спонукає Nmap до більш агресивного аналізу результатів. Nmap як і раніше буде повідомляти, коли буде знайдено не ідеальний збіг, а також відображати рівень відповідності (у відсотках) для кожного набору характеристик.

--max-os-tries (Встановлює максимальну кількість спроб визначення ОС)

Коли Nmap намагається визначити ОС на цільовому хості і може знайти ідеального відповідності результатів, вона зазвичай повторює спробу. За замовчуванням, Nmap робить п'ять спроб за умови, що існують сприятливі умови для визначення ОС, і двічі - інакше. Завдання нижчого значення --max-os-tries (напр. 1) збільшує швидкість роботи Nmap, проте ви пропускаєте деякі записи, за допомогою яких можна було б визначити ОС. Велике значення може бути задано для вирішення більшої кількості спроб за сприятливих умов. Це робиться рідко, за винятком тих випадків, коли необхідно згенерувати детальніший набір характеристик ОС для занесення в базу даних Nmap.

Nmap - це дуже популярний сканер мережі з відкритим вихідним кодом, який може використовуватися як у Windows, так і Linux. Програма Nmap або Network Mapper була розроблена Гордоном Луоном та на Наразівикористовується фахівцями з безпеки та системними адміністраторами по всьому світу.

Ця програма допомагає системним адміністраторам дуже швидко зрозуміти, які комп'ютери підключені до мережі, дізнатися про їхні імена, а також подивитися яке програмне забезпечення на них встановлено, яка операційна система і які типи фільтрів застосовуються. Функціональність програми може бути розширена за рахунок власної скриптової мови, яка дозволяє адміністраторам автоматизувати багато дій.

Наприклад, за допомогою скриптів можна автоматично виявляти нові вразливості безпеки у вашій мережі. Namp може використовуватися з хорошими та поганими намірами, будьте обережні, щоб не використовувати nmap проти закону. У цій інструкції ми розглянемо, як користуватися namp для сканування портів в операційній системі Linux. Але спочатку потрібно спробувати зрозуміти, як працює ця утиліта.

У комп'ютерних мережах всі підключені пристрої мають свою IP адресу. Кожен комп'ютер підтримує протокол ping, за допомогою якого можна визначити, чи він підключений до мережі. Ми просто надсилаємо ping запит комп'ютеру, і якщо він відгукується, то вважаємо, що він підключений. Nmap використовує трохи інший підхід. Комп'ютери також певним чином реагують на ті чи інші мережеві пакети, утиліта просто надсилає потрібні пакети і дивиться які хости надіслали відповідь.

Але про це ви, мабуть, уже знаєте. Цікавіше те, як Nmap дізнається які послуги запущені на машині. Суть роботи всіх мережевих програм ґрунтується на портах. Щоб отримати повідомлення з мережі, програма повинна відкрити порт на вашому комп'ютері та чекати на вхідні з'єднання. А для надсилання повідомлення по мережі потрібно підключитися до іншої програми (адресатом) порту. Потім програмі необхідно буде відкрити порт, на якому вона чекатиме на відповідь.

Утиліта nmap у процесі сканування мережі перебирає доступний діапазон портів та намагається підключитися до кожного з них. Якщо підключення вдалося, в більшості випадків, передавши кілька пакетів програма може навіть дізнатися версію програмного забезпечення, які очікує на підключення до цього порту. Тепер, після того, як ми розглянули основи, розглянемо як користуватися nmap для сканування портів та мережі.

Синтаксис Nmap

Команда запуску Nmap дуже проста для цього достатньо передати їй у параметрах цільову IP-адресу або мережу, а також вказати опції за необхідності:

$nmap опції адреса

Тепер розглянемо основні опції, які знадобляться нам у цій статті.

  • -sL- просто створити список хостів, що працюють, але не сканувати порти nmap;
  • -sP- тільки перевіряти чи доступний хост за допомогою ping;
  • -PN- вважати всі хости доступними, навіть якщо вони не відповідають на ping;
  • -sS/sT/sA/sW/sM- TCP сканування;
  • -sU- UDP сканування nmap;
  • -sN/sF/sX- TCP NULL та FIN сканування;
  • -sC- запускати скрипт за замовчуванням;
  • -sI- ліниве Indle сканування;
  • -p- Вказати діапазон портів для перевірки;
  • -sV- Детальне дослідження портів для визначення версій служб;
  • -O- Визначати операційну систему;
  • -T- швидкість сканування, що більше, то швидше;
  • -D- маскувати сканування за допомогою фіктивних IP;
  • -S- змінити свою IP адресу на вказану;
  • -e- Використовувати певний інтерфейс;
  • --spoof-mac- Встановити свою MAC адресу;
  • -A- Визначення операційної системи за допомогою скриптів.

Тепер, коли ми розглянули всі основні опції, поговоримо про те, як виконується сканування портів nmap.

Як користуватися Nmap для сканування портів у Linux

Далі розглянемо приклади nmap. Спочатку розглянемо як знайти всі підключені до мережі пристрої, для цього достатньо використовувати опцію -sL і вказати маску нашої мережі. у моєму випадку це 192.168.1.1/24. Маску вашої локальної мережі ви можете знайти, виконавши команду:

З виводу для використовуваного інтерфейсу візьміть число після сліша, а до слеша вкажіть ip вашого роутера. Команда на сканування мережі nmap буде виглядати так:

nmap -sL 192.168.1.1/24

Іноді це сканування може не дати результатів, тому що деякі операційні системи мають захист від сканування портів. Але це можна обійти, просто використавши для сканування ping всіх ip адрес мережі, для цього є опція -sn:

nmap -sn 192.168.1.1/24

Як бачите, тепер програма виявила активні пристрої у мережі. Далі ми можемо сканувати порти nmap для потрібного вузла, запустивши утиліту без опцій:

sudo nmap 192.168.1.1

Тепер ми можемо бачити, що у нас відкрито кілька портів, всі вони використовуються будь-яким сервісом на цільовій машині. Кожен з них може бути потенційно уразливим, тому мати багато відкритих портів на машині небезпечно. Але це ще далеко не все, що ви можете зробити, далі ви дізнаєтеся, як користуватися nmap.

Щоб дізнатися більше детальну інформаціюпро машину та запущені на ній сервіси ви можете використовувати опцію -sV. Утиліта підключиться до кожного порту та визначить всю доступну інформацію:

sudo nmap -sV 192.168.1.1

На нашій машині запущено ftp, тому ми можемо спробувати розглянути цю службу докладніше за допомогою стандартних скриптів nmap. Скрипти дозволяють перевірити порт детальніше, знайти можливі вразливості. Для цього використовуйте опцію -sC та -p щоб задати порт:

sudo nmap -sC 192.168.56.102 -p 21

Ми виконували за замовчуванням скрипт, але є ще й інші скрипти, наприклад, знайти всі скрипти для ftp ви можете командою:

sudo find /usr/share/nmap/scripts/-name "*.nse" | grep ftp

Потім спробуємо використовувати один із них, для цього достатньо вказати його за допомогою опції --script. Але спочатку ви можете переглянути інформацію про скрипт:

sudo nmap --script-help ftp-brute.nse

Цей скрипт намагатиметься визначити логін та пароль від FTP на віддаленому вузлі. Потім виконайте скрипт:

sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21

В результаті скрипт підібрав логін та пароль, admin/admin. Тому не потрібно використовувати параметри входу за замовчуванням.

Також можна запустити утиліту з опцією -A, вона активує більш агресивний режим роботи утиліти, за допомогою якого ви отримаєте більшу частину інформації однією командою:

sudo nmap -A 192.168.1.1

Зауважте, що тут є майже вся інформація, яку ми вже бачили раніше. Її можна використовувати, щоб збільшити захист цієї машини.

Одна з найперших завдань при дослідженні будь-якої мережі - це скоротити (іноді досить великий) набір IP діапазонів до списку активних або цікавих хостів. Сканування кожного порту кожної IP-адреси повільно і необов'язково. Звичайно те, що робить хост цікавим для селедування багато в чому визначається цілями сканування. Мережеві адміністратори, можливо, будуть зацікавлені тільки в хостах, на яких запущено певну службу, тоді як тим, кого цікавить безпека, будуть цікаві всі пристрої з IP адресами. Завдання адміністраторів щодо виявлення працюючих хостів у мережі можуть бути задоволені звичайним ICMP пінгом, людям же, які тестують здатність мережі протистояти атакам з-за, необхідно використовувати різноманітні набори запитів з метою обходу брандмауера.

Оскільки завдання, що вимагають виявлення хостів настільки різні, Nmap надає велику різноманітність опцій для різних методів. Завдання виявлення хостів іноді називають пінг скануванням (ping scan), проте вона набагато перевершує використання звичайних ICMP запитів, що асоціюються з всюдисущими ping утилітами. Користувачі можуть повністю пропустити крок пінг сканування за допомогою опції сканування з метою складання списку (-sL) або просто відключивши його (-PN), або сканувати мережу за допомогою довільних комбінацій мультипортових TCP SYN/ACK, UDP та ICMP запитів. Метою всіх цих запитів є отримання відповідей, що вказують, що IP-адреса в даний час активна (використовується хостом або мережевим пристроєм). У більшості мереж лише невеликий відсоток IP-адрес активний постійно. Це особливо притаманно адресних просторів виду 10.0.0.0/8. Такі мережі мають 16 млн IP адрес, але я бачив, як вони використовуються компаніями, в яких не більше тисячі машин. Функція виявлення хостів може знайти ці машини у цьому неосяжному морі IP адрес.

Якщо не задано ніяких опцій виявлення хостів, то Nmap посилає TCP ACK пакет на порт 80 і запит на ICMP відлуння відповідь кожній цільовій машині. Виняток становить ARP сканування всіх цілей у мережі. Для непривілейованих користувачів Unix оболонки, замість ACK пакета посилається SYN використовуючи системний виклик connect Ці стандартні значення рівнозначні опціям -PA -PE . Таке сканування достатньо для локальних мереж, але для дослідження безпеки необхідно використовувати складніші набори запитів.

Опції -P* (визначають тип пінг-сканування) можуть комбінуватися. Ви можете збільшити шанси обходу строго брандмауера, посилаючи безліч запитів різних типів, використовуючи різні TCP порти/прапори та ICMP коди. Також майте на увазі, що навіть якщо ви визначите різні опції -P*, за умовчанням стосовно цілей локальної мережі буде проводитися і ARP сканування (-PR) , т.к. воно майже завжди швидше і ефективніше.

За промовчанням після виявлення хостів Nmap починає сканування портів кожної активної машини. Так буде навіть якщо ви вкажете на використання нестандартних методів виявлення хостів, наприклад, з використанням UDP запитів (-PU). Прочитайте опцію -sP , щоб дізнатися, як виконати лише виявлення хостів, або використовуйте опцію -PN , щоб пропустити виявлення хостів та здійснити сканування портів усіх цільових машин. За допомогою таких опцій можна налаштовувати функцію виявлення хостів:

SL (Сканування з метою складання списку)

Цей тип сканування є "спрощеною" версією функції виявлення хостів, за допомогою якого буде створено список хостів заданої мережі без посилки будь-яких пакетів цільовим машинам. За замовчуванням Nmap все ж таки буде здійснювати зворотний дозвіл DNS з метою впізнавання імен хостів. Часто буває дивно, скільки корисної інформації можуть містити звичайні імена хостів. Наприклад, fw.chi це ім'я брандмауера однієї компанії Чикаго. Наприкінці Nmap також повідомляє загальну кількість IP-адрес. Цей тип сканування також є хорошим способом перевірити, що ви дійсно знаєте IP-адреси необхідних вам цілей. Якщо імена хостів містять невідомі вам доменні імена, варто провести подальше дослідження, щоб уникнути сканування мережі не тієї компанії, яка вам потрібна.

Т.к. метою є просто складання списку цільових хостів, то опції з великим рівнем функціональності, такі як сканування портів, визначення ОС або пінг сканування не можуть поєднуватися з опцією, що розглядається. Якщо ви хочете вимкнути пінг сканування, але хочете використовувати опції з таким високим рівнем функціональності, то почитайте опції -PN .

-sP (Пінг сканування)

Ця опція вказує Nmap зробити пінг сканування (визначення хостів), та був вивести список доступних хостів, тобто. тих, що відповіли на запити. Визначення маршрутів та NSE скрипти також використовуються, якщо необхідно, проте подальшого тестування (як сканування портів або визначення ОС) не проводиться. За замовчуванням ця опція вважається як би на один крок ретельнішою, ніж сканування з метою складання простого списку хостів, і може бути використана з цією ж метою. Вона дозволяє провести дослідження цільової мережі без привернення уваги. Знання, які хости в мережі в даний момент працюють, для атакуючих цінні, ніж просто список IP-адрес та мережевих імен, що надаються опцією -sL.

Ця опція також корисна системним адміністраторам. Вона може бути використана для підрахунку кількості машин, що працюють в мережі, або моніторингу доступності сервера. Це часто називають "пінг чисткою" (ping sweep) і результати, що надаються цією опцією, заслуговують більше на довіру, ніж звичайне пінгування широкомовних адрес, т.к. більшість хостів не відповідають на подібні запити.

За замовчуванням опцією -sP надсилаються запит на ICMP це відповідь і TCP ACK пакет на порт 80. Коли використовується непривілейованим користувачем, надсилається тільки SYN пакет (використовуючи системні виклик connect) на порт 80 цільової машини. Коли привілейований користувач сканує цілі локальної мережі, то використовуються ARP запити до тих пір, поки не буде задано --send-ip . Для більшої гнучкості опція -sP може бути скомбінована з будь-якою опцією -P* (за винятком -PN). Якщо використовується будь-який з цих типів запитів та опції для завдання номерів портів, запити за замовчуванням (ACK і відповіді) опускаються. Коли між машиною з Nmap та цільовою мережею розташований строгий брандмауер, рекомендується використання таких розширених методів сканування. Інакше деякі з хостів може бути не визначено, т.к. брандмауер заблокував запит чи відповідь.

-PN (Не використовувати пінг сканування)

Вказує Nmap повністю пропустити етап виявлення хостів. Зазвичай Nmap використовує цей етап для виявлення активних машин, до яких можна застосувати більш поглиблене сканування. За замовчуванням Nmap робить поглиблене сканування, таке як сканування портів, визначення версії або визначення ОС лише виявлених хостів, що працюють. Після відключення етапу виявлення хостів опцією -PN, Nmap буде виконувати сканування кожногозаданої цільової IP-адреси. Отже, якщо для сканування буде визначено мережу з адресним простором класу B (/16), то буде скановано всіх 65,536 IP адрес. Т.к. етап виявлення хостів і складання списку цілей сканування пропущений, то Nmap буде виконувати запитані функції, якби кожна IP адреса була активна. Для машин локальної мережі буде зроблено ARP сканування (поки не поставте --send-ip), т.к. Nmap необхідні MAC адреси для подальшого сканування цільових хостів. Раніше ця опція задавалася прапором P0 (використовується нуль), але була перейменована, щоб уникнути плутанини з пінгуванням за допомогою IP протоколу PO (використовується буква O).

-PS <список_портов> (TCP SYN пінгування)

Ця опція надсилає порожній TCP пакет із встановленим SYN прапором. Порт за замовчуванням - 80 (можна встановити під час компілювання змінюючи DEFAULT_TCP_PROBE_PORT_SPEC в nmap.h). Альтернативні порти задаються як параметри. Синтаксис такий самий як і для опції -p крім того, що специфікатори типу T: неприпустимі. Приклади: -PS22 та -PS22-25,80,113,1050,35000. Майте на увазі, що між списком портів і -PS не повинно бути пропуску. Якщо задано кілька запитів, вони будуть надіслані паралельно.

Встановлений прапор SYN вказує віддалену систему, що ви намагаєтеся встановити з'єднання. Якщо порт призначення закрито, то у відповідь надсилається пакет RST (скидання). Якщо порт відкритий, то віддалена системазробить другий крок у 3-ох етапній послідовності установки TCP з'єднання шляхом відповіді SYN/ACK TCP пакетом. Система, на якій працює Nmap, скидає майже встановлене з'єднання, відповідаючи RST пакетом замість ACK, що призвело б до встановлення повного з'єднання. RST пакет посилається ядром системи, де працює Nmap, у відповідь непередбачений SYN/ACK пакет, а чи не самої Nmap.

Nmap не важливо відкрити порт або закрито. Відповіді пакетами RST або SYN/ACK, описаними вище, вказують Nmap на те, що хост доступний і може відповідати на запити.

На Unix машинах, тільки користувач з правами root зазвичай може посилати і приймати сирі TCP пакети. Для непривілейованого користувача кожного цільового порту ініціюється системний виклик connect . Тому при спробі встановити з'єднання на цільовий хост надсилається SYN пакет. Якщо на виклик connect приходить швидка відповідь або відмова типу ECONNREFUSED, то TCP стек отримав SYN/ACK або RST пакет, і хост позначається як доступний. Якщо з'єднання не встановлюється через закінчення часу (timeout), то хост позначається як працюючий. Цей механізм використовується для з'єднань з використанням протоколу IPv6, т.к. побудова сирих пакетів IPv6 ще реалізовано в Nmap.

-PA <список_портов> (TCP ACK пінгування)

Цей тип пінгування дуже нагадує описаний вище. Різниця полягає в тому, як ви могли здогадатися, що замість встановлення прапора SYN встановлюється TCP ACK прапор. Такий ACK пакет має на меті розпізнавання даних під час встановленого TCP з'єднання, але такого з'єднання не існує, тому віддалені хости завжди будуть відповідати на такий запит RST пакетом, тим самим видаючи своє існування.

Опція -PA використовує той же порт за замовчуванням, що і SYN запити (80), і так само може приймати як параметр списку портів у тому ж форматі. Якщо цю опцію намагається використовувати непривілейований користувач або задана мета у форматі IPv6, то використовується механізм з використанням виклику connect, описаний вище. Цей механізм недосконалий, т.к. під час використання виклику connect замість ACK пакета надсилається SYN.

Причина, через яку Nmap надає обидва типи пінгування (SYN і ACK), полягає у підвищенні шансів обходу брандмауерів. Багато адміністраторів конфігурують роутери або інші прості брандмауери на блокування вхідних пакетів SYN за винятком тих, що призначені для публічних служб, таких як веб-сайт або поштовий сервер. Тим самим запобігають решті з'єднань, і в той же час користувачі можуть безперешкодно виходити в Інтернет. Такий підхід не вимагає багато ресурсів від брандмауерів/роутерів і широко підтримується різними апаратними та програмними фільтрами. для реалізації такого підходу має опцію - syn. Коли брандмауер використовує такі правила, запити зі встановленим прапором SYN (-PS), надіслані на закриті порти, з великою ймовірністю будуть заблоковані. У разі вигідніше використовувати запити з прапором ACK, т.к. вони не підпадають під ці правила.

Іншим популярним типом мережного екрану є брандмауер, що блокує всі непередбачені пакети. Спочатку ця функція підтримувалася тільки в найбільш просунутих брандмауерах, хоча з роками вона стає все популярнішою. Використовується в Linux мережевий екран Netfilter/iptables реалізує цей механізм за допомогою опції --state , яка категоризує пакети залежно стану з'єднання. Проти таких систем найкраще використовувати пакети SYN, т.к. непередбачені пакети ACK з великою ймовірністю будуть розпізнані як фіктивні та заблоковані. Рішення такого скрутного становище полягає в тому, щоб посилати і SYN і ACK запити шляхом завдання опцій -PS та -PA.

-PU <список_портов> (UDP пінгування)

Ще однією функцією, що використовується для виявлення хостів, є UDP пінгування, яка посилає порожній (поки не задана опція --data-length) UDP пакет на дані порти. Список портів задається в тому ж формі, що і для описаних вище опцій -PS і -PA. Якщо порти не задані, то за замовчуванням використовується 31338. Порт за замовчуванням може бути заданий під час компіляції шляхом зміни DEFAULT_UDP_PROBE_PORT_SPEC на nmap.h . За замовчуванням вибрано не розповсюджений порт, т.к. Надсилання запитів на відкриті порти небажане для цього типу сканування.

Метою запиту UDP є отримання у відповідь пакета ICMP з помилкою "порт недосяжний". Це вказує Nmap на те, що машина працює та доступна. Інші типи помилок ICMP, такі як хост/мережа недоступна або перевищення TTL вказують на те, що машина вимкнена або недоступна. Відсутність відповіді інтерпретується тим самим шляхом. Якщо такий запит надсилається на відкритий порт, більшість служб просто ігнорують порожній пакет і не надсилають жодної відповіді. Тому стандартним портом є 31338, т.к. він навряд чи буде використовуватись якоюсь службою. Лише деякі служби, такі як Character Generator (chargen) protocol, дадуть відповідь на порожній UDP пакет, і це також вкаже Nmap на те, що машина доступна.

Основною перевагою такого типу сканування є те, що дозволяє обходити брандмауери, що фільтрують тільки TCP запити. Наприклад, одного разу я мав бездротовий широкосмуговий роутер Linksys BEFW11S4. Внутрішній інтерфейс цього пристрою фільтрував за замовчуванням усі TCP порти, тоді як у відповідь на UDP запити надсилалося повідомлення про помилку "порт недосяжний", що робило його роботу марною.

-PE; -PP; -PM (Типи пінг пакетів ICMP)

На додаток до нестандартних методів виявлення хостів за допомогою TCP і UDP запитів, Nmap може посилати і стандартні пакети, що використовуються всюдисущою програмою ping. Nmap посилає ICMP пакет типу 8 (відлуння запит) на цільовий IP адресу, чекаючи у відповідь від доступного хоста пакет типу 0 (відлуння відповідь). На жаль для мережевих дослідників, багато хости та брандмауери тепер блокують такі пакети замість того, щоб відповісти на них, як це потрібно в RFC 1122 . З цієї причини сканери, використовуючи лише ICMP запити, рідко бувають корисні при скануванні невідомих цілей в Інтернеті. Але вони можуть бути корисними системним адміністраторам, які займаються моніторингом внутрішньої мережі. Використовуйте опцію -PE для активації такого типу сканування.

Але Nmap використовує не тільки стандартний відлуння запит. У стандарті ICMP (RFC 792) також визначено запити тимчасової мітки, інформаційні запити та запити адресної маски з кодами 13, 15 та 17 відповідно. Хоча вони служать для того, щоб дізнатися про будь-яку інформацію, таку як адресну маску або поточний час, вони можуть бути легко застосовані для виявлення цілей. Система, що відповідає на них, працює та доступна. Нині Nmap не використовує інформаційні запити, т.к. вони не набули широкого поширення. Стандарт RFC 1122 наполягає на тому, що « хост НЕ ПОВИНЕН надсилати такі повідомлення» . Запити тимчасової мітки або адресної маски можуть бути надіслані шляхом завдання опцій -PP та -PM відповідно. Відповідь на запит тимчасової мітки (ICMP код 14) або запит адресної маски (код 18) вказують на те, що хост доступний. Ці запити можуть бути корисні, коли адміністратори блокують пакети відлуння запитів, але забувають про те, що інші типи ICMP запитів можуть бути використані з тією ж метою.

-PO <список_протоколов> (Пінгування з використанням IP протоколу)

Найновішою опцією виявлення хостів є пінгування з допомогою IP протоколу, яка посилає IP пакети з номером протоколу, зазначеним у заголовку пакета. Список протоколів задається у тому форматі, як і список портів в описаних вище опціях виявлення хостів з допомогою протоколів TCP і UDP. Якщо не вказано жодного протоколу, то за замовчуванням будуть використані IP пакети ICMP (протокол 1), IGMP (протокол 2) та IP-in-IP (протокол 4). За промовчанням протоколи можуть бути задані під час компіляції шляхом зміни DEFAULT_PROTO_PROBE_PORT_SPEC в nmap.h . Майте на увазі, що для ICMP, IGMP, TCP (протокол 6) і UDP (протокол 17), пакети надсилаються з "правильними" заголовками протоколу, тоді як для інших протоколів пакети надсилаються без додаткової інформації після IP заголовка (поки не задана опція -data-length).

При використанні цього методу очікуються відповіді протоколу вихідного запиту, або ICMP повідомлення про недосяжність, що свідчить, що цей протокол не підтримується віддаленим хостом. Обидва варіанти відповіді означають, що цільовий хост доступний.

-PR (ARP пінгування)

Однією з найпопулярніших сфер застосування Nmap є сканування локальних мереж (LAN). У більшості локальних мереж, особливо тих, які використовують діапазони приватних адрес визначені в RFC 1918, велика кількість IP адрес не використовується в будь-який момент часу. Коли Nmap намагається послати сирий IP пакет, такий як ICMP відлуння запит, операційна система повинна визначити MAC-адресу (ARP) відповідну цільовому IP, щоб правильно адресувати кадр. Це часто буває повільно та проблематично, т.к. операційні системи не були написані з огляду на те, що їм доведеться надсилати мільйони ARP запитів недоступним хостам у короткий проміжок часу.

ARP сканування дозволяє Nmap замість ARP запитів використовувати власні оптимізовані алгоритми. І якщо Nmap отримує відповідь, їй навіть немає необхідності турбуватися про інші типи виявлення хостів, заснованих на IP пакетах. Цей робить ARP сканування швидшим та надійнішим. Тому воно застосовується за промовчанням для сканування локальних мереж. Навіть якщо вказано інші типи сканування (як -PE або -PS), Nmap все одно використовує ARP сканування для локальної мережі. Якщо ви абсолютно не хочете використовувати такий тип сканування, то введіть опцію --send-ip .

--traceroute (Відслідковувати шлях до хоста)

Відстеження здійснюється після сканування, використовуючи результати цього сканування для визначення порту та протоколу, за допомогою яких можна буде досягти мети. Процедура працює з усіма типами сканування крім сканування з використанням системного виклику connect (-sT) та "лінивого" (idle) сканування (-sI). Усі відстеження використовують динамічну модель таймінгів Nmap та здійснюються паралельно.

Процедура відстеження маршруту працює шляхом посилки пакетів з низьким TTL (time-to-live (час-життя) у спробі отримати у відповідь ICMP повідомлення Time Exceeded (Перевищення Часу Життя) від проміжних вузлів між сканером і цільовим хостом. Стандартні реалізації процедури відстеження маршруту з TTL рівним 1, а потім збільшують його до тих пір, поки не буде досягнутий цільовий хост.В реалізації цієї процедури в Nmap спочатку встановлюється високий TTL, а потім TTL зменшується, поки не стане рівним 0. Це дозволяє Nmap використовувати "розумні" алгоритми кешування з метою збільшення швидкості відстеження маршруту.У середньому Nmap посилає 5-10 пакетів на хост, залежно від умов у мережі. кожен хост.

--reason (Показати причини станів портів та хостів)

Показує інформацію про причини, з яких кожен порт встановлений у стан, і з яких кожен хост працює чи ні. Ця опція виводить тип пакета, яким було визначено стан порту чи хоста. Наприклад, RST пакет від закритого порту або луна відповідь від працюючого хоста. Інформація, яку може надати Nmap, визначається типом сканування чи пінгування. SYN сканування та SYN пінгування (-sS та -PS) описуються дуже детально, а інформація про сканування з використанням TCP з'єднань (-sT) обмежена реалізацією системного виклику connect . Ця функція автоматично активується при використанні опції налагодження (-d) , і результати її роботи зберігаються у файлах XML, навіть якщо ця опція не була задана.

-n (Не дозволяти DNS імен)

Вказує Nmap ніколине здійснювати зворотний дозвіл DNS імен кожної виявленої активної IP адреси. Перетворення DNS може бути повільним навіть із вбудованим у Nmap паралельним перетворювачем IP адрес, тому ця опція може скоротити час сканування.

-R (Виробляти роздільну здатність DNS імен для всіх цілей)

Вказувати Nmap завждиробити зворотний дозвіл DNS імен для кожної цільової IP-адреси. Зазвичай DNS перетворення застосовується лише до доступних хостів.

--system-dns (Використовувати системний DNS перетворювач)

За замовчуванням Nmap перетворює IP-адреси шляхом надсилання запитів безпосередньо серверам імен, зазначеним у вашій системі, та подальшим аналізом відповідей. Багато запитів (часто десятки) виконуються паралельно збільшення продуктивності. Введіть цю опцію, щоб використовувати ваш системний перетворювач IP адрес (одна IP адреса за один системний виклик getnameinfo). Це повільно і рідко буває корисно, доки ви не знайдете помилку в паралельному перетворювачі Nmap (якщо знайдете, повідомите нас, будь ласка). Системний перетворювач завжди використовується для сканування за допомогою протоколу IPv6.

--dns-servers [, [,... ] ] (Сервера для зворотного дозволу DNS)

За замовчуванням Nmap визначає DNS сервер (для дозволу rDNS) з вашого resolv.conf файлу (Unix) або з реєстру (Win32). Ви можете використовувати цю опцію для встановлення альтернативних серверів. Ця опція ігнорується, якщо ви використовуєте --system-dns або сканування IPv6. Використання декількох серверів DNS приватно збільшує швидкість сканування, особливо якщо ви вибираєте офіційні сервери для IP простору вашої мети. Ця опція може збільшити непомітність, т.к. Ваші запити можуть бути перенаправлені будь-яким рекурсивним сервером DNS в Інтернеті.

Ця опція також корисна при скануванні приватних мереж. Іноді лише деякі сервери імен надають правильну інформацію rDNS, і ви можете навіть не знати, де вони. Ви можете просканувати мережу на наявність відкритого порту 53 (можливо за допомогою функції визначення версії), потім спробувати скласти список (-sL) вказуючи по черзі всі сервери імен в опції --dns-servers до тих пір, поки не знайдете той, який працює .

12/09/2016

SoftPerfect Network Scanner – програма, призначена в основному для системних адміністраторів. Програма дозволяє сканувати комп'ютер на розірваність, а також перевіряти прослуховування відкритих портів. Програма показує всі ресурси, що спільно використовуються, включаючи системні, що дуже допомагає в усуненні проблем з мережею. Крім того, програма може встановити один або кілька таких ресурсів, наприклад мережний драйвер. Є функція автовизначення порту, сканування на вразливість та визначення діапазону IP-адрес користувача. Network Scanner може використовувати різні протоколи сканування. В і...

24/12/2015

PortExpert – невелика, але дуже корисна програма, яка допоможе відстежити всі програми, підключені до Інтернет-мережі. У програмі відображається детальна інформація про всі знайдені активні процеси. Перевірка програмою PortExpert допоможе виявити всі загрози та небажані елементи у системі, які уповільнюють її роботу. Моніторинг всіх активних програм здійснюється завдяки використанню TCP/UDP. За допомогою PortExpert можна швидко визначити розташування віддалених серверіві побачити всі приховані процеси. Програма дозволяє шукати потрібну інформацію та автоматично ідентифікувати всі пов'язані сервіси.

30/10/2015

Nmap – програма для тестування різних мережщодо виявлення відкритих портів, чи інших загроз безпеки мережі. Треба сказати, що дана програмає однією з найпростіших у своєму класі і має на озброєнні багато різних методів, що допомагають виявити відкриті порти або інші загрози. Основний інтерфейс програми є звичайним командним рядком і вікном повідомлень. У командному рядку можна вводити різні дані, наприклад, можна вказати перевірку лише певних портів чи адрес. Зверніть увагу, що для роботи з програмою бажано володіти знаннями про пристрій.

26/03/2015

Advanced IP Scanner – корисна утиліта, що здійснює миттєве та якісне сканування мереж десятків комп'ютерів. Здійснює перевірку та надає точну інформацію за IP, MAC-адресами, допомагає отримати дані про під'єднані пристрої, визначає навіть імена машин. Додаток перевіряє порти і знаходить папки, до яких відкритий доступ, допоможе дізнатися про виробників роутерів і мережевих карт. Сканер добре працює з усіма машинами, на яких працює сервер Radmin. Для з'єднання з цими машинами рекомендується встановити Radmin Viewer. Ще однією корисною і важливою функцією є здатність віддаленого відключення ма...

13/03/2015

Wireless Network Watcher – корисна утиліта, що сканує все бездротові мережіта показує всі пристрої та машини, які будуть підключені в даний момент часу. По кожному знайденому пристрою або машині програма надає IP, MAC-адреси та назву мережевої карти, ім'я пристрою чи комп'ютера. Користувач може налаштовувати формат MAC-адреси, що відображається. Можна фонове сканування, а також піктограму в панелі завдань Windows для миттєвого доступу. Можна встановити певний звуковий сигнал, щоб знайти нові підключені пристрої. Більш того, дає користувачам можливість вибирати потрібні...




Top