我需要找出哪些端口连接到Unix机器(HP Itanium)上的哪些进程。遗憾的是,lsof
未安装,我无法安装它。
有没有人知道另一种方法?一个相当漫长的谷歌搜索会议没有发现任何东西。
答案 0 :(得分:43)
netstat -l(假设它带有该版本的UNIX)
答案 1 :(得分:28)
鉴于(几乎)unix上的所有内容都是文件,而lsof列出了打开的文件...
Linux:netstat -putan or lsof | grep TCP
OSX:lsof | grep TCP
其他Unixen:lsof
方式......
答案 2 :(得分:13)
netstat -pln
编辑:仅限Linux,在其他UNIX上,netstat可能不支持所有这些选项。
答案 3 :(得分:10)
假设这是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;完成
切换端口号的PORTNUM。 :)可能是孩子的pid,但会让你足够近以识别问题app。
答案 4 :(得分:6)
netstat -ln | awk '/^(tcp|udp)/ { split($4, a, /:/); print $1, a[2]}' | sort -u
为您提供活动的tcp / udp端口。然后,您可以以root身份使用fuser -n tcp
或fuser -n udp
的端口,并假设fuser
是GNU fuser或具有类似选项。
如果您需要更多帮助,请与我们联系。
答案 5 :(得分:2)
尝试pfiles PID
显示进程的所有打开文件。
答案 6 :(得分:1)
哪个进程在unix中使用port;
根> netstat -Aan | grep 3872
输出> f1000e000bb5c3b8 tcp 0 0 * .3872 。 LISTEN
输出>套接字0xf1000e000bb5c008由proccess 13959354(java)持有。
答案 7 :(得分:0)
我使用以下命令:
netstat -tulpn | grep LISTEN
您可以得到一个干净的输出,其中显示正在侦听的进程ID和端口
答案 8 :(得分:0)
如果您想了解所有监听端口及其详细信息:本地地址,外部地址和状态以及进程ID(PID)。您可以在Linux中使用以下命令。
netstat -tulpn