这个问题类似于网络端口打开,但没有附加进程?
我已经从那里尝试了一切,查看了日志等......但找不到任何东西。
我的 netstat 显示了一个 TCP 侦听端口和一个没有 pid 的 UDP 端口。当我在 lsof 中搜索这些端口时,什么也没有出现。
netstat -lntup
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:44231 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:55234 0.0.0.0:* -
Run Code Online (Sandbox Code Playgroud)
以下命令不显示任何内容:
lsof | grep 44231
lsof | greo 55234
fuser -n tcp 44231
fuser -n udp 55234
Run Code Online (Sandbox Code Playgroud)
重新启动后,除了新的端口号外,那些“相同”的两个连接还在那里:
netstat -lntup
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:45082 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:37398 0.0.0.0:* -
Run Code Online (Sandbox Code Playgroud)
再一次,lsof 和 fuser 命令什么也没显示。
任何想法它们是什么?我应该关心他们吗?
小智 21
某些进程/pid 仅对 root 可用。尝试
sudo netstat -antlp
Run Code Online (Sandbox Code Playgroud)
它应该返回每个未处于 TIME_WAIT 状态的开放端口的 pid
或者,如果您想知道与特定端口相关的进程 ID(例如 8765),请使用代码
netstat -tulpn | grep :8765
Run Code Online (Sandbox Code Playgroud)
Hrv*_*jar 15
根据您提供的数据,我会说它与某些 NFS 安装或使用 RPC 的东西有关。
您可以检查rpcinfo -p某些 RPC 相关服务可能使用的端口。
这是它在我的系统上的外观
# netstat -nlp | awk '{if ($NF == "-")print $0}'
tcp 0 0 0.0.0.0:55349 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:18049 0.0.0.0:* -
# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 10249 status
100024 1 tcp 10249 status
100021 1 udp 18049 nlockmgr
100021 3 udp 18049 nlockmgr
100021 4 udp 18049 nlockmgr
100021 1 tcp 55349 nlockmgr
100021 3 tcp 55349 nlockmgr
100021 4 tcp 55349 nlockmgr
Run Code Online (Sandbox Code Playgroud)
stu*_*eek 13
根据@user202173 和其他人的提示,我已经能够使用以下内容来跟踪拥有端口的进程,即使它-在 netstat 中列出。
这是我的开始情况。sudo netstat显示带有 PID/程序的端口-。lsof -i什么都不显示。
$ sudo netstat -ltpna | awk 'NR==2 || /:8785/'
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::8785 :::* LISTEN -
tcp6 1 0 ::1:8785 ::1:45518 CLOSE_WAIT -
$ sudo lsof -i :8785
$
Run Code Online (Sandbox Code Playgroud)
现在我们去钓鱼吧。首先让-e我们通过添加到我们的netstat调用来获取 inode 。
$ sudo netstat -ltpnae | awk 'NR==2 || /:8785/'
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp6 0 0 :::8785 :::* LISTEN 199179 212698803 -
tcp6 1 0 ::1:8785 ::1:45518 CLOSE_WAIT 0 0 -
Run Code Online (Sandbox Code Playgroud)
下一个用于lsof获取附加到该 inode 的进程。
$ sudo lsof | awk 'NR==1 || /212698803/'
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
envelope_ 145661 145766 drees 15u IPv6 212698803 0t0 TCP *:8785 (LISTEN)
Run Code Online (Sandbox Code Playgroud)
现在我们知道进程 id,所以我们可以查看进程。不幸的是,这是一个不复存在的过程。它的 PPID 是 1,所以我们也不能杀死它的父进程(请参阅如何杀死父进程为 init 的进程?)。理论上 init 最终可能会清理它,但我厌倦了等待并重新启动。
$ ps -lf -p 145661
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
0 Z drees 145661 1 2 80 0 - 0 exit May01 ? 00:40:10 [envelope] <defunct>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46143 次 |
| 最近记录: |