在 MAC 上 netstat 没有 Linux(eg:CentOS)好用,此时在 MAC 上 netstat 与 lsof 结合使用。
-
netstat 常用命令
netstat -nap TCP
-
lsof 常用使用
-i 展示了所有打开的网络连接(open network connections) 和使用这个连接(connection)的进程(process)的名称. 如果增加一个4,如-i4, 将展示IPv4连接; 如-i6 将展示IPv6连接.
-i flag 还可以继续扩展以指定更多详细信息,-iTCP或者-iUDP将返回仅是TCP或UDP的链接. -iTCP:25将返回端口(port)是25的TCP连接. 还可以指定端口范围,如 -iTCP:25-50.
使用 -i@1.2.3.4 将返回ip是1.2.3.4的IPv4地址. IPv6也是一样的. @符号也可以以同样的方式用于指定hostname
-s 强制显示文件大小(file size). 但是和-i成对出现时,它的含义就不同了:它允许用户指定要返回的命令的协议和状态
-p 将lsof限制为特定的进程ID(PID)。可以使用-p 123,456,789等设置多个PID。进程ID也可以用^排除,如123,^456,它专门排除PID 456
-P 禁用端口号到端口名的转换,从而加快了输出速度
-n 禁止将网络号转换为主机名(network numbers to host names)。与上面的-P一起使用时,它可以显着加快lsof的输出
-u user 仅返回指定用户拥有的命令
lsof -iTCP
lsof -n -iTCP -sTCP:LISTEN
lsof -iTCP@localhost:6379
lsof -nP -iTCP@127.0.0.1:6379