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
.
netscan
meldet, 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 ss
und nmap
. Bei Port 53 liegt der Grund im Unterschied zwischen localhost
und den anderen 16 Millionen Adressen, die für die lokale Maschine reserviert sind. 127.0.0.1
ist nicht dasselbe wie 127.0.0.53
. ss
meldet alle Ports für die lokale Maschine, während nmap
sich auf die Adresse 127.0.0.1 beschränkt.
Was die zusätzlichen Berichte von betrifft lsof
, sucht dieser nach etwas ganz anderem. Ihre ss
und nmap
-Befehle suchen nach Sockets im LISTEN
Status, d. h., die auf eingehende Verbindungen warten. Ihr lsof
sucht 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.