Почему я не могу запустить nmap с опцией -O, даже если я использую sudo

Почему я не могу запустить nmap с опцией -O, даже если я использую sudo

Я пытаюсь определить, какие порты используются на моем компьютере. Я нашел в сети статью, в которой перечислен один из методов:

$ sudo nmap -sT -O localhost

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

Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-02 21:07 EDT
socket troubles in HostOsScan: Permission denied (13)

Если я работаю как sudo, как я могу не иметь разрешения на запуск чего-либо на своей машине?

Я попробовал запустить только:

$ sudo nmap -sT  localhost

и получил:

Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-02 21:28 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000094s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
631/tcp open  ipp

Только что попробовал nmapбез аргументов и снова получил отказ!?

$ sudo nmap localhost
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-03 11:05 EDT
Couldn't open a raw socket. Error: Permission denied (13)

Глядя на nmap's --helpопцию, я вижу, что -Oона включает определение ОС. Почему у меня не должно быть разрешения на использование этой опции - особенно с sudo? (Примечание: в настоящее время я использую Ubuntu 18.04 и 20.04)

(Примечание: принятый ответ решает мою основную проблему — просмотр портов, но ответ в разделе комментариев объясняет, почему у меня возникли проблемы с nmap. Видимо, поскольку я устанавливал с помощью snap, мне также нужно было выполнить:

 $ sudo snap connect nmap:network-control

раньше nmapработало бы правильно

решение1

Если вы пытаетесь определить, какие порты используются на вашем компьютере, вам не нужно сканировать. Вы можете просто перечислить порты напрямую

netstat -nap
ss -nap

Если вы не root, опустите -pфлаг. LISTENДля вас важны строки, и вы можете отфильтровать их с помощью awk. Например

netstat -nap | awk 'NR==1 || /LISTEN/'

решение2

Сначала «Я пытаюсь определить, какие порты используются на моем компьютере». Затем опустите -O, поскольку вам не нужно знать, какая у вас локальная ОС.

Возможно, потребуется дополнительная информация.

  1. Какая у вас ОС? Может быть, укажите, какое ядро?
  2. Используете ли вы брандмауэр, Fail2ban или какие-либо другие службы безопасности?
  3. Можно ли установить более старую версию? Моя установка в Nmap v7.80 из репозитория Ubuntu не выявила той же проблемы.
  4. Вы используете виртуальную машину, VPS или размещенную систему?
  5. Это чистая установка с небольшим количеством установленных программ или без них? Если так, то у вас тихая система, не так много шума, не так много для обнаружения.
  6. Пробовали ли вы другие параметры обнаружения ОС Nmap? --osscan-limit --osscan-guess --max-os-triesСВЯЗЬ

Отсутствие обнаруженных портов TCP затрудняет обнаружение ОС. Ответы на запрос TCP — это то, как работает обнаружение ОС. Лучше объяснить здесьhttps://nmap.org/book/osdetect-methods.html

Связанный контент