Я пытаюсь определить, какие порты используются на моем компьютере. Я нашел в сети статью, в которой перечислен один из методов:
$ 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, поскольку вам не нужно знать, какая у вас локальная ОС.
Возможно, потребуется дополнительная информация.
- Какая у вас ОС? Может быть, укажите, какое ядро?
- Используете ли вы брандмауэр, Fail2ban или какие-либо другие службы безопасности?
- Можно ли установить более старую версию? Моя установка в Nmap v7.80 из репозитория Ubuntu не выявила той же проблемы.
- Вы используете виртуальную машину, VPS или размещенную систему?
- Это чистая установка с небольшим количеством установленных программ или без них? Если так, то у вас тихая система, не так много шума, не так много для обнаружения.
- Пробовали ли вы другие параметры обнаружения ОС Nmap? --osscan-limit --osscan-guess --max-os-triesСВЯЗЬ
Отсутствие обнаруженных портов TCP затрудняет обнаружение ОС. Ответы на запрос TCP — это то, как работает обнаружение ОС. Лучше объяснить здесьhttps://nmap.org/book/osdetect-methods.html