我知道如何使用lsof或netstat来做相反的事情(找出哪个进程打开了某个端口),但是Google的广泛研究并没有帮助我解决相反的问题。
我知道我可以使用“netstat -np”结合一些grep和sed,但它似乎是hacky。 是否有反向版本的“lsof -i tcp:80”会显示给定进程打开的所有本地端口?
看看手册页,你会发现你可以使用-p
选项指定一个进程ID,而-i
选项限制显示到互联网域套接字( -i4
仅用于ipv4和-i6
只用于IPv6的)。 所以如果你把它们串起来
lsof -p <pid> -i
…你得不到你想要的,因为默认情况下lsof
会或者一起请求。 所以添加-a
( 和 )标志…
lsof -p <pid> -a -i
…您将获得由指定进程ID打开的IPv4套接字列表。
我知道我可以使用
netstat -np
结合一些grep和sed,但似乎hacky。
这个怎么样:
# netstat --inet -nlp | grep <processname>
是否有反向版本的
lsof -i tcp:80
会显示给定进程打开的所有本地端口?
# lsof -c <processname> | grep LISTEN