我们能找到在给定套接字地址上运行的应用程序的名称吗?
套接字地址是指 IP 地址和端口号的组合。
就像我们可以通过在 linux 中使用以下命令从 IP 地址中找出主机的名称一样:
主机 [IP]
但是,是否有任何命令或任何方法可以像查找主机名一样查找应用程序名称?
如果我们只能找到 Web 应用程序名称或 tomcat 服务名称,那么它也没问题。
一个相当简单的方法是使用"netstat":
gruescher@SMARTBUILD:~$ sudo netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 712/rpcbind
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1217/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 928/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1487/cupsd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 25654/postgres
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 19660/smbd
tcp 0 0 0.0.0.0:513 0.0.0.0:* LISTEN 980/xinetd
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 980/xinetd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 19660/smbd
tcp 0 0 0.0.0.0:41516 0.0.0.0:* LISTEN 31353/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 712/rpcbind
tcp6 0 0 :::80 :::* LISTEN 2757/apache2
tcp6 0 0 :::24693 :::* LISTEN 13707/fo_scheduler
tcp6 0 0 :::22 :::* LISTEN 928/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1487/cupsd
tcp6 0 0 :::445 :::* LISTEN 19660/smbd
tcp6 0 0 :::48611 :::* LISTEN 31353/rpc.statd
tcp6 0 0 :::139 :::* LISTEN 19660/smbd
如您所见,它显示端口,本地地址,PID和进程名称。
您必须以超级用户身份运行它。