
In der Ausgabe von nmap -p- localhost
bekomme ich einen unbekannten offenen TCP-Port, der bei jedem Neustart anders ist. Wie kann ich feststellen, welcher Prozess ihn geöffnet hat und darüber lauscht? Ich habe viele der üblichen Tools ausprobiert ( ,, netstat
) , aber ich kann den Übeltäter nicht finden. Beispielsweise gibt es keinen PID/Programmnamen:ss
lsof
sudo netstat -pan -Ainet | grep <PORT>
tcp 0 0 0.0.0.0:<PORT> 0.0.0.0:* LISTEN -
Vielleicht sollte ich die Startreihenfolge analysieren? Aber wie?
Kann jemand helfen?
Antwort1
Alsangedeutetkann ss
ebenfalls die Antwort liefern. Die Syntax lautet:
sudo ss --tcp --listening --processes 'sport = 1234'
Wo 1234
ist der Port des Tages aus Ihrem Nmap-Scan? Dies beschränkt die Ausgabe auf TCP-Ports und zeigt den Prozessnamen und die PID an, die auf diesem Port lauschen. sudo
wird nur benötigt, wenn Sie das --process
Flag möchten, das den Prozessnamen und die PID angibt.
Antwort2
Wenn Sie Netstat als Root und mit den richtigen Flags ausführen, macht es genau das, was Sie verlangen:
sudo netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1931/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 32296/cupsd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1550/postgres
tcp6 0 0 :::80 :::* LISTEN 3198/docker-proxy
Außerdem ss
ist es der Ersatz für netstat
und verwendet größtenteils die gleichen Flags, hat aber eine anders formatierte Ausgabe
Antwort3
Einige vom Kernel und bestimmten Diensten (NFS, OCFS, SSH-Tunnel) geöffnete Ports sind weder mit netstat noch mit ss sichtbar