系统相关
首页 > 系统相关> > lsof和netstat

lsof和netstat

作者:互联网

文章目录

lsof(list open files)

是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于这个应用程序本身的信息。

lsof打开的文件可以是:

通过某个进程号显示该进程打开的文件

lsof -p 11968

列出某个程序所打开的文件信息

lsof -c mysql

列出所有的网络连接

lsof -i 
可以指定传输协议
lsof -i tcp/udp

列出谁在使用某个端口
lsof -i :3306

列出被进程号为1234的进程所打开的所有IPV4 network files

lsof -i 4 -a -p 1234

列出端口为:20,21,80相关的所有文件信息,且每隔3秒重复执行

lsof -i :20,21,80 -r 3

netstat

参数说明

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令

而在MacOS上,-f需要加上地址族,-p需要加上协议TCP或者UDP等

通常用法:

显示所有的TCP连接 Linux
netstat -atnp

显示网卡列表
netstat -i

Mac
如果需要查询inet:netstat -anvf inet
如果需要查询TCP:netstat -anvp tcp
如果需要查询UDP:netstat -anvp udp

windows
netstat -a | findstr "8080"

参考

lsof 一切皆文件
MacOS 端口占用情况,其中 netstat 命令与 CentOS 略有出入
Linux netstat命令

标签:文件,显示,netstat,进程,lsof,列出
来源: https://blog.csdn.net/u010275850/article/details/122524008