Чому б ping вдався, але nmap провалився?


21

Чому Nmap повідомляє "Хост здається вниз", коли простий пінг вдається?

me@computer:~$ ping 123.45.67.89
PING 123.45.67.89 (123.45.67.89) 56(84) bytes of data.
64 bytes from 123.45.67.89: icmp_req=1 ttl=45 time=91.1 ms
64 bytes from 123.45.67.89: icmp_req=2 ttl=45 time=102 ms
64 bytes from 123.45.67.89: icmp_req=3 ttl=45 time=100 ms
^C
--- 123.45.67.894 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 91.136/98.182/102.417/5.022 ms

me@computer:~$ nmap 123.45.67.89

Starting Nmap 5.21 ( http://nmap.org ) at 2014-04-02 14:23 EDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -PN
Nmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

Чи відрізняються "зонди" ping Nmap від командного рядка ping?


Я можу запропонувати вам оновити встановлення Nmap? Поточна версія - 6,40 . Версії 5.21 виповнилося 4 роки і не вистачає 361 сценаріїв NSE та тисячі відбитків служб та ОС.
бонсайвінг

Спасибі. 5.21 - це версія, яку я отримав за замовчуванням. Я думаю, я піду завантажити та створити найновіші.
AShelly

Так, Ubuntu сильно відстає на Nmap. Ви можете перевірити залежність від .deb від Kali , який є поточним.
bonsaiviking

Відповіді:


29

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

Щоб дозволити Nmap знайти систему, спробуйте запустити її з дозволами root. Судно команда часто використовується для цієї мети, наприклад ,sudo nmap 123.45.67.89

pingможе надсилати пакети ICMP, оскільки він встановлений налаштованим на root, а це означає, що будь-який користувач може запустити його, але він буде працювати як користувач root, коли вони це роблять. Програми Setuid повинні бути надзвичайно обережними щодо того, щоб не дозволяти звичайним користувачам отримати оболонку через цей додатковий дозвіл. Зокрема, Nmap не може запобігти ескалації цього привілею, тому його ніколи не можна налаштовувати.


Я перебуваю в Windows і все ще отримую таку ж помилку під час запуску в cmd з правами адміністратора. Пінг - це завжди добре.
shashwat

2
Я корінь, але маю цю проблему
vladkras

Без root / sudo, як ping може робити ICMP ECHO, але не nmap?
MikeP

1
@MikeP /bin/ping- це setuid-root. Незалежно від того, хто ним керує, він працює з привілеєм root. Програми Setuid повинні бути ретельно протестовані, щоб переконатися, що їх не можна використовувати для запуску довільних команд. Nmap не може бути безпечно встановлений setuid-root, тому ви повинні використовувати якийсь інший механізм: пароль або sudo root.
бонсайвінг

2

Так, вони за замовчуванням відрізняються, ping - це ICMP, і nmap ping надсилає пакет syn на порт 80, якщо я правильно пам’ятаю, спробуйте використовувати прапори -PE, -PM, -PP, щоб змусити його робити пінг ICMP


0

без привілеїв ви можете сканувати порт за допомогою netcat:

nc -z -w5 hostname 22; echo $?

відповідь 1, якщо не вдалося, інакше відповідь:

Підключення до імені хоста 22 порта [tcp / ssh] вдалося!

0


Найкраще цитувати і цитувати відповіді, коли ви посилаєтесь на них, порядок відповідей, можна змінювати щодня. Ця відповідь сама по собі змінила порядок відповідей на це питання.
Рамхаунд

0

Просте виправлення для мене (Windows 10). Я просто відключив свій бездротовий адаптер, який не використовувався, оскільки я використовував основний адаптер локальної мережі. Я рекомендую вимкнути всі, крім вашого основного адаптера.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.