netstat显示一个没有pid的监听端口,但是lsof没有

这个问题类似于networking端口打开,但没有附加过程?

我已经尝试了从那里的一切,审查日志等,并找不到任何东西。

我的netstat显示一个TCP侦听端口和一个没有pid的UDP端口。 当我searchlsof这些端口时,什么都没有出现。

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:* - 

以下命令不显示任何内容:

 lsof | grep 44231 lsof | greo 55234 fuser -n tcp 44231 fuser -n udp 55234 

重新启动后,除了新的端口号之外,那些“相同的”两个连接在那里:

 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:* - 

再次,lsof和fuser命令什么都没有显示。

任何想法是什么? 我应该关心他们吗?

    从你提供的数据我会说这是有关的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 

    某些进程/ pid仅可用于root用户。 尝试

     sudo netstat -antlp 

    它应该返回不处于TIME_WAIT状态的每个开放端口的PID

    我不知道具体是什么,但是内核模块(例如NFS)没有一个PID来关联这些套接字。 在lsmod中寻找可疑的东西。

    我不知道这是否有用。 我遇到了同样的问题,我做了以下几件事:首先,我使用选项-a(全部)和-e(扩展)调用netstat。 有了后面的选项,我可以看到与使用的端口关联的Inode。 然后,我用所获得的inode号码调用lsof | grep,并得到与该inode相关联的进程的PID。 这在我的情况。

    基于来自@ user202173和其他人的提示,我已经能够使用以下方法来追踪拥有端口的进程,即使它被列为-在netstat中。

    这是我的起始状况。 sudo netstat显示带有PID / Program的端口。 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 $ 

    现在我们去钓鱼吧。 首先让我们通过将-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 - 

    接下来使用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) 

    现在我们知道进程ID,所以我们可以看看进程。 不幸的是,这是一个不成熟的过程。 而且它的PPID是1,所以我们不能杀死它的父节点(请参阅如何杀死一个父进程为init的进程? )。 理论上init可能最终清除它,但是我厌倦了等待并重新启动。

     $ ps -lf -p 145661 FS 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> 

    是否有任何stream量来自或从这个端口,使用tcpdump -vv -xs 1500 port 37398 -w trace.out保存您的捕获在文件trace.out中,然后可以打开它与wireshark,或tcpdump -vv port 37398并看看直接发生了什么。

    尝试远程login到该端口使用netcat的udp套接字,也许你会得到某种帮助的横幅。

    获取rkhunter并检查你的系统后门。

    比较lsof / netstat的md5哈希与安装介质的md5哈希,假设文件不是updatet。