Warum liefern nmap, ss (netscan?) und lsof unterschiedliche Ergebnisse?

Warum liefern nmap, ss (netscan?) und lsof unterschiedliche Ergebnisse?

Ich versuche herauszufinden, welche Ports auf meinem Computer aktiv lauschen (benutzt sind?) und weiß nicht wirklich, was ich tue. Die drei Befehle, mit denen ich experimentiert habe, sind nmap, ss(? netscan?) und lsof.

netscanmeldet, dass nur 1 Port aktiv lauscht (631):

$ 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

ss(? netscan?) meldet, dass 2 Ports verwendet werden (631 und 53):

$ sudo ss -tulwn | grep LISTEN
tcp    LISTEN  0       4096     127.0.0.53%lo:53           0.0.0.0:*            
tcp    LISTEN  0       5            127.0.0.1:631          0.0.0.0:*            
tcp    LISTEN  0       5                [::1]:631             [::]:*       

Wenn ich schließlich einzelne Ports mit überprüfe lsof -i:xx, sehe ich Ergebnisse für 631 und 53, aber auch für die Ports 80 und 443:

$ sudo lsof -i:80

COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
firefox 3481 me   74u  IPv4  85172      0t0  TCP Machine:56024->lga25s63-in-f3.1e100.net:http (ESTABLISHED)

$ sudo lsof -i:443
COMMAND    PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
skypeforl 2426 me   27u  IPv4  77133      0t0  TCP Machine:60396->13.83.65.43:https (ESTABLISHED)
skypeforl 2453 me   72u  IPv4  56536      0t0  TCP Machine:58945->40.86.187.166:https (ESTABLISHED)
firefox   3481 me   95u  IPv4  81375      0t0  TCP Machine:53788->104.16.249.249:https (ESTABLISHED)
firefox   3481 me  157u  IPv4  80283      0t0  TCP Machine:49080->lga34s15-in-f5.1e100.net:https (ESTABLISHED)
chrome-gn 3799 me   74u  IPv4  55080      0t0  TCP Machine:42196->server-52-85-61-100.ewr53.r.cloudfront.net:https (CLOSE_WAIT)
chrome-gn 3799 me   95u  IPv4  55072      0t0  TCP Machine:43998->104.16.248.249:https (CLOSE_WAIT)

Ich hatte gedacht, dass diese drei Befehle im Grunde unterschiedliche Ansichten derselben Informationen sind. Warum werden einige Ports nur von einigen dieser Befehle angezeigt?

Antwort1

Beginnen wir mit dem Unterschied zwischen ssund nmap. Bei Port 53 liegt der Grund im Unterschied zwischen localhostund den anderen 16 Millionen Adressen, die für die lokale Maschine reserviert sind. 127.0.0.1ist nicht dasselbe wie 127.0.0.53. ssmeldet alle Ports für die lokale Maschine, während nmapsich auf die Adresse 127.0.0.1 beschränkt.

Was die zusätzlichen Berichte von betrifft lsof, sucht dieser nach etwas ganz anderem. Ihre ssund nmap-Befehle suchen nach Sockets im LISTENStatus, d. h., die auf eingehende Verbindungen warten. Ihr lsofsucht nach allen Sockets, insbesondere nach allen hergestellten Verbindungen und Verbindungen, die abgebaut wurden. Sie suchen nach Dingen, bei denenentwederEnde verwendet Port 80 oderentwederDas Ende verwendet Port 443.

Die Pointe ist also, dass diese 3 Befehle unterschiedliche Dinge zeigen, weil Ihre Annahme, dass sie die gleichen Informationen zeigen, falsch ist. Das ist ein Vergleich zwischen Äpfeln, Birnen und Bananen. 3 unterschiedliche Befehle zeigen unterschiedliche Informationen, weil sie unterschiedliche Informationen zeigen.

verwandte Informationen