Sample output
checking established connections
107.178.244.155 : United States
17.188.136.186 : United States
17.252.76.19 : United States
17.252.76.19 : United States
17.188.136.186 : United States
5.45.62.118 : Netherlands
40.101.42.66 : Ireland
151.101.1.69 : United States
173.194.69.188 : United States
104.25.170.11 : United States
5.45.62.49 : Netherlands
198.252.206.25 : United States
151.101.1.69 : United States
34.198.53.220 : United States
198.252.206.25 : United States
151.101.129.69 : United States
91.225.248.133 : Ireland
216.58.212.234 : United States
displaying listening ports
mysqld TCP *:3306 (LISTEN)
com.avast TCP 127.0.0.1:12080 (LISTEN)
com.avast TCP [::1]:12080 (LISTEN)
com.avast TCP 127.0.0.1:12110 (LISTEN)
com.avast TCP [::1]:12110 (LISTEN)
com.avast TCP 127.0.0.1:12143 (LISTEN)
com.avast TCP [::1]:12143 (LISTEN)
com.avast TCP 127.0.0.1:12995 (LISTEN)
com.avast [::1]:12995 (LISTEN)
com.avast 127.0.0.1:12993 (LISTEN)
com.avast [::1]:12993 (LISTEN)
Google TCP 127.0.0.1:34013 (LISTEN)
15 回答
Update January 2016
真的很惊讶没有人建议:
获得所需的基本信息 . 例如,检查端口1337:
其他变化,取决于具体情况:
您可以轻松地在此基础上提取PID本身 . 例如:
这也与此命令等效(结果):
快速插图:
为了完整性,因为经常一起使用:
杀死PID:
或作为一个班轮:
这表明谁在做什么 . 删除-n以查看主机名(稍慢) .
这就是我需要的 .
我制作了一个小剧本,不仅要看谁在哪里听,还要看到已 Build 的联系以及哪些国家 . 适用于OSX Siera
这可能有助于检查您是否连接到朝鲜! ;-)
在OS X上,您可以使用netstat的-v选项来提供关联的pid .
类型:
输出将如下所示:
PID是最后一列之前的数字,对于这种情况是3105
在macOS High Sierra上,使用以下命令:
在旧版本上,使用以下形式之一:
用端口号或逗号分隔的端口号列表替换
$PORT
.如果您需要有关#1024以下端口的信息,请前置
sudo
(后跟空格) .-n
标志用于显示IP地址而不是主机名 . 这使得命令执行得更快,因为获取主机名的DNS查找可能很慢(对于许多主机来说,几秒或一分钟) .-P
标志用于显示原始端口号而不是像http
,ftp
这样的已解析名称或更多深奥的服务名称,如dpserve
,socalia
.有关更多选项,请参阅注释 .
这适用于Mavericks(OSX 10.9.2) .
这是macOS High Sierra的好方法:
我是一个Linux人 . 在Linux中,使用
netstat -ltpn
或这些字母的任意组合非常容易 . 但在Mac OS X中netstat -an | grep LISTEN
是最人性化的 . 其他人非常难看,在排除故障时很难记住 .您还可以使用:
这适用于小牛队 .
在macOS上,这里's an easy way to get the process ID that'用netstat监听特定端口 . 此示例查找在端口80上提供内容的进程:
查找在端口80上运行的服务器
样本输出
最后一列的第二个是PID . 在上面,它是 715 .
选项
-a
- 显示所有端口,包括服务器使用的端口-n
- 显示数字,不要查找姓名 . 这使命令更快-v
- 详细输出,以获取进程ID-w
- 搜索词 . 否则该命令将返回端口8000和8001的信息,而不仅仅是"80"LISTEN
- 仅为LISTEN模式下的端口提供信息,即服务器在最新的macOS版本上,您可以使用此命令:
如果您发现很难记住,那么也许您应该创建一个
bash
函数并将其导出为更友好的名称,如此然后将以下行添加到该文件并保存 .
现在,您可以在终端中键入
listening_on 80
,并查看哪个进程正在侦听端口80
.在Snow Leopard(OS X 10.6.8)上,运行'man lsof'产生:
(实际手动输入是'lsof -i 4 -a -p 1234')
之前的答案对Snow Leopard没有用,但是我试图使用'netstat -nlp',直到我看到pts在答案中使用'lsof' .
对于LISTEN,ESTABLISHED和CLOSED端口
仅适用于LISTEN端口
对于特定的LISTEN端口,例如:端口80
或者,如果您只是想要一个紧凑的摘要[没有描述服务/应用]
自Yosemite(10.10), up to Mojave (10.14) 以来,每个版本的macOS都支持: