
Ich suche nach der saubersten Methode unter Linux, um den Portstatus für einen Port zu ermitteln, der von einem angegebenen Programmnamen über die Befehlszeile verwendet wird. Ich habe gesehen, dass netstat -p alle PIDs auflistet, aber nichts, das bestimmten Prozessnamen entspricht. Für jede Hilfe wäre ich dankbar.
Antwort1
Theoretisch sollten Sie mit dem Parameter -p und der PID den Programmnamen sehen. Beachten Sie, dass Sie Root-Rechte benötigen, um den Programmnamen von Prozessen anzuzeigen, die nicht unter Ihrem Benutzer laufen.
-p ohne Root-Rechte:
$ netstat -lnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN -
...
...
-p mit Root-Rechten
$ sudo netstat -lnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1553/apache2
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1392/vsftpd
...
...