Warum kann ich nmap nicht mit der Option -O ausführen, selbst wenn ich sudo verwende?

Warum kann ich nmap nicht mit der Option -O ausführen, selbst wenn ich sudo verwende?

Ich versuche herauszufinden, welche Ports bei meinem Rechner verwendet werden. Ich habe online einen Artikel gefunden, in dem eine Methode wie folgt aufgeführt ist:

$ sudo nmap -sT -O localhost

Ich dachte, ich würde dadurch eine Liste aller Ports erhalten, die auf TCP-Pakete warten. Wenn ich diesen Befehl eingebe, erhalte ich jedoch das folgende Ergebnis:

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

Wenn ich als sudo arbeite, wie kann mir dann die Berechtigung fehlen, etwas auf meinem Computer auszuführen??

Ich habe versucht, Folgendes auszuführen:

$ sudo nmap -sT  localhost

und bekam:

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

Habe es gerade nmapohne Argumente versucht und wieder wurde mir die Erlaubnis verweigert!?

$ 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)

Wenn ich mir die Option ansehe nmap's --help, sehe ich, dass -Odie Betriebssystemerkennung aktiviert ist. Warum sollte ich nicht die Berechtigung haben, diese Option zu verwenden – insbesondere mit sudo? (Hinweis: Ich verwende derzeit Ubuntu 18.04 und 20.04)

(Hinweis: Die akzeptierte Antwort löst mein Grundproblem – ein Blick auf die Ports, aber die Antwort im Kommentarbereich erklärt, warum ich Probleme mit hatte . Da ich mit installiert habe , musste ich nmapanscheinend auch Folgendes ausführen:snap

 $ sudo snap connect nmap:network-control

vorher nmapwürde richtig funktionieren

Antwort1

Wenn Sie herausfinden möchten, welche Ports von Ihrem Computer verwendet werden, müssen Sie nicht scannen. Sie können die Ports direkt auflisten

netstat -nap
ss -nap

Wenn Sie kein Root sind, lassen Sie das -pFlag weg. Die LISTENZeilen sind für Sie wichtig und Sie können mit nach diesen filtern awk. Zum Beispiel

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

Antwort2

Geben Sie zuerst „Ich versuche herauszufinden, welche Ports von meinem Computer verwendet werden“ ein und lassen Sie dann das -O weg, da Sie Ihr lokales Betriebssystem nicht kennen müssen.

Möglicherweise sind weitere Informationen erforderlich.

  1. Welches Betriebssystem verwenden Sie? Geben Sie ggf. an, welcher Kernel
  2. Nutzen Sie eine Firewall, Fail2ban oder ähnliche Sicherheitsdienste?
  3. Können Sie eine ältere Version installieren? Bei meiner Installation in Nmap v7.80 aus dem Ubuntu-Repo trat das gleiche Problem nicht auf.
  4. Befinden Sie sich in einer virtuellen Maschine, einem VPS oder einem gehosteten System?
  5. Handelt es sich um eine saubere Installation mit wenigen oder keinen installierten Programmen? Wenn ja, haben Sie ein ruhiges System, nicht viel Lärm, nicht viel zu erkennen.
  6. Andere Nmap-Optionen zur Betriebssystemerkennung ausprobiert? --osscan-limit --osscan-guess --max-os-triesVERKNÜPFUNG

Fehlende Erkennung von TCP-Ports erschwert die Betriebssystemerkennung. Die Betriebssystemerkennung funktioniert über Antworten auf TCP-Anfragen. Hier wird es besser erklärthttps://nmap.org/book/osdetect-methods.html

verwandte Informationen