Вопрос: по-разному: «sudo nmap» против просто «nmap»?


Я пытаюсь выполнить простую проверку портов с помощью nmap:

$ nmap 192.168.56.101

Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-10 19:30 IST
Nmap scan report for 192.168.56.101
Host is up (0.0048s latency).
Not shown: 998 closed ports
PORT      STATE SERVICE
5555/tcp  open  freeciv
24800/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

Но когда я пытаюсь сделать то же самое с sudo, он не может утверждать, что хост не работает:

$ sudo nmap 192.168.56.101

Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-10 19:30 IST
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 0.48 seconds



ЗАМЕТКА:
Я нахожусь в OS X Yosemite.
GNU bash, версия 3.2.57 (1) -release (x86_64-apple-darwin14)

Спасибо.


4
2018-03-10 17:38


Источник


Включите вывод для этих команд с помощью -d вариант, а также вывод nmap --version и устанавливаете ли вы .dmg пакет, через Macports или каким-либо другим способом. Благодаря! - bonsaiviking


Ответы:


Я заметил такое же поведение на своем Mac. Это действительно странно.

Похоже, что NMAp с привилегиями sudo получает некоторую информацию из кеша ARP. Итак, если вы сканируете устройство, которое отключено от сети, но все еще находится в кэше ARP (кеш обновляется через 2 или 3 минуты на моем компьютере), он будет отображаться как онлайн для NMAP.

Из справочной страницы NMAP:

Если параметры обнаружения хоста не указаны, Nmap отправляет эхо-сигнал ICMP          запрос, пакет TCP SYN на порт 443, пакет TCP ACK на порт 80 и          запрос метки времени ICMP, (Для IPv6 запрос метки времени ICMP          опущен, поскольку он не является частью ICMPv6.) Эти значения по умолчанию          что эквивалентно параметрам -PE -PS443 -PA80 -PP. Исключения из этого          это ARP (для IPv4) и Neighbor Discovery. (для IPv6) сканирует          используются для любых целей в локальной сети Ethernet. Для непривилегированных          Пользователи оболочки Unix, пробники по умолчанию представляют собой пакет SYN для портов 80 и          443 с использованием вызова системы подключения.. Это открытие хозяина часто          достаточный при сканировании локальных сетей, но более полный набор          зондов обнаружения рекомендуется для аудита безопасности.


3
2017-08-25 21:32





По умолчанию непривилегированное сканирование использует -sT (TCP Connect), а привилегированный (root) использует -sS (TCP SYN Stealth).

TCP Connect (-sT) При подключении сканирование использует системный вызов с тем же именем для сканирования машин, вместо того, чтобы полагаться на сырые пакеты, как это делают большинство других методов. Обычно он используется непривилегированными пользователями Unix и целями 1Pv6, потому что проверка SYN не работает в этих случаях.

TCP SYN Stealth (-sS) Это самый популярный тип сканирования, поскольку он является самым быстрым способом сканирования портов самого популярного протокола (TCP). Это стелснее, чем сканирование подключений, и оно работает против всех функциональных стеков TCP (в отличие от некоторых специальных сканирований, таких как сканирование FIN).

1) Чтобы понять, что происходит с вашей машиной, я бы предложил использовать дополнительный многословный режим (-vv) или --packet-трассировки чтобы увидеть, что происходит.

$ sudo nmap --packet-trace -vv 192.168.56.101

2) Другим подходом было бы заставить непривилегированное сканирование как привилегированного пользователя, используя следующие команды и увидеть результат.

$ sudo nmap -sT -vv 192.168.56.101
$ sudo nmap --unprivileged -vv 192.168.56.101

3) Наконец, причина, по которой nmap останавливает сканирование, заключается в том, что IMCP Type 8 (echo a.k.a ping) не возвращает ICMP Type 0 (эхо-ответ). Эта команда игнорирует ping и продолжает сканирование:

$ sudo nmap -PN 192.168.56.101

Можете ли вы попробовать эти команды и опубликовать вывод?


6
2017-08-27 00:55





По сути, по умолчанию:

  • привилегированный пользователь выполняет -sS (сканирование TCP SYN).
    Для этого типа сканирования требуется привилегии raw socket / raw packet.
  • непривилегированный пользователь выполняет -sT (сканирование TCP-соединения).
    Этот тип сканирования не требует наличия привилегий raw / raw packet.

Адаптировано из официальных документов Nmap:


МЕТОДЫ СКАНИРОВАНИЯ ПОРТА
Most of the scan types are только для привилегированных пользователей. This is because they are able to отправлять и получать необработанные пакеты, which requires корневой доступ on Unix. Using an учетная запись администратора on Windows is recommended, though Nmap sometimes works for unprivileged users on that platform when WinPcap has already been loaded into the OS. Requiring корень     привилегии was a serious limitation when Nmap was released in 1997, as many users only had access to shared shell accounts. Now, the world is different. Computers are cheaper, far more people have always-on direct Internet access, and desktop Unix-системы (включая Linux и Mac OS X) are prevalent. A Windows version of Nmap is now available, allowing it to run on even more desktops. For all these reasons, users have less need to run Nmap from limited shared shell accounts. Это удачно, так как привилегированные варианты делают Nmap намного больше     мощный и гибкий.


1
2017-12-10 22:47