我需要找出哪些端口附加到Unix机器上的哪些进程(HP Itanium).不幸的是,lsof
没有安装,我无法安装它.
有没有人知道另一种方法?一个相当漫长的谷歌搜索会议没有发现任何东西.
netstat -l(假设它附带的是UNIX版本)
鉴于(几乎)unix上的所有内容都是一个文件,而lsof列出了打开的文件......
Linux: netstat -putan or lsof | grep TCP
OSX: lsof | grep TCP
其他Unixen:lsof
方式......
netstat -pln
编辑:仅限linux,在其他UNIX上netstat可能不支持所有这些选项.
假设这是HP-UX?怎么样PTOOLS -你有那些安装?如果是这样,您可以使用"pfiles"查找应用程序正在使用的端口:
pfiles打印有关进程的所有打开文件描述符的信息.如果文件描述符对应于文件,则pfiles打印fstat(2)和fcntl(2)信息.
如果文件描述符对应于套接字,则pfiles会打印与套接字相关的信息,例如套接字类型,套接字系列和协议族.
对于AF_INET和AF_INET6系列套接字,还会打印有关对等主机的信息.
for f in $(ps -ex | awk'{print $ 1}'); 回声$ f; pfiles $ f | grep PORTNUM; DONE
切换PORTNUM作为端口号.:)可能是儿童pid,但让你足够接近识别问题的应用程序.
netstat -ln | awk '/^(tcp|udp)/ { split($4, a, /:/); print $1, a[2]}' | sort -u
为您提供活动的tcp/udp端口.然后你可以使用fuser -n tcp
或fuser -n udp
作为root 使用端口,并假设它fuser
是GNU fuser或具有类似的选项.
如果您需要更多帮助,请告诉我们.