出力には、nmap -p- localhost
再起動するたびに異なる未知のオープンTCPポートが表示されます。どのプロセスが開いていて聞いているのか、どうすれば確認できますか?いくつかの一般的なツール(netstat
、、、)を試してみましたss
が、lsof
犯人が見つかりませんでした。例えば。sudo netstat -pan -Ainet | grep <PORT>
PID/プログラム名が指定されていません:
tcp 0 0 0.0.0.0:<PORT> 0.0.0.0:* LISTEN -
起動順序を分析する必要がありますか?しかし、どのようにこのようなことが起こりましたか?
誰でも助けることができますか?
答え1
〜のようにヒント、ss
構文は次のとおりです。
sudo ss --tcp --listening --processes 'sport = 1234'
1234
nmapでスキャンした今日のポートはどこですか?これは、出力をTCPポートに制限し、そのポートでリッスンするプロセスの名前とPIDを表示します。プロセス名とPIDを提供するsudo
このフラグが必要な場合にのみ必要です。--process
答え2
root として実行し、正しいフラグを使用すると、Netstat は正確に必要な操作を実行します。
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
またss
、代替項目はnetstat
ほとんど同じフラグを使用しますが、出力形式が異なります。
答え3
カーネルと特定のサービス(NFS、OCFS、SSHトンネル)によって開かれた一部のポートは、netstatまたはssには表示されません。