如何使用lsof命令
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章将为大家详细讲解有关如何使用lsof命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其
千家信息网最后更新 2025年02月01日如何使用lsof命令
这篇文章将为大家详细讲解有关如何使用lsof命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其实,因为它是指"列出打开文件(lists openfiles)"。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
1, 使用 lsof 命令行列出所有打开的文件
# lsof
这可是一个很长的列表,包括打开的文件和网络
上述屏幕截图中包含很多列,例如 PID、user、FD 和 TYPE 等等。
FD - File descriptor
FD 列包含这样一些值
cwd - Current working directorytxt - Text filemem - Memory Mapped filemmap - Memory Mapped deviceNumber - It represent the actual file descriptor. For example, 0u, 1w and 3r
r 是读的意思,w 是写,u 代表读写
Type 代表文件类型,例如:
>REG - Regular file>DIR - Directory>CHR - Character special file>FIFO - First in first out
2, 列出某个用户打开的文件
# lsof -u user_name
Example:
# lsof -u crybitCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 29609 crybit cwd DIR 144,233 4096 117711421 /sshd 29609 crybit rtd DIR 144,233 4096 117711421 /sshd 29609 crybit txt REG 144,233 409488 119020186 /usr/sbin/sshdsshd 29609 crybit mem REG 144,241 2443001619 (deleted)/dev/zero (stat: No such file or directory)sshd 29609 crybit mem REG 8,37 119021850 /lib64/libnss_dns-2.5.so (path dev=144,233)sshd 29609 crybit mem REG 8,37 119021984 /lib64/security/pam_succeed_if.so (path dev=144,233)sshd 29609 crybit mem REG 8,37 119022000 /lib64/security/pam_limits.so (path dev=144,233)sshd 29609 crybit mem REG 8,37 119021960 /lib64/security/pam_keyinit.so (path dev=144,233)sshd 29609 crybit mem REG 8,37 119021972 /lib64/security/pam_cracklib.so (path dev=144,233)sshd 29609 crybit mem REG 8,37 119021987 /lib64/security/pam_nologin.so (path dev=144,233)sshd 29609 crybit mem REG 8,37 119021988 /lib64/security/pam_deny.so (path dev=144,233)sshd 29609 crybit mem REG 8,37 119019223 /usr/lib64/libcrack.so.2.8.0 (path dev=144,233)..........
3, 列出在某个端口运行的进程
# lsof -i :port_number
Example:
# lsof -i :22COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 769 root 3u IPv6 2281738844 0t0 TCP *:ssh (LISTEN)sshd 769 root 4u IPv4 2281738846 0t0 TCP *:ssh (LISTEN)# lsof -i :3306COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmysqld 11106 mysql 10u IPv4 2340975114 0t0 TCP *:mysql (LISTEN)
4, 只列出使用 IPv4 的打开文件
# lsof -i 4 - For IPv4
Example:
# lsof -i 4COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 769 root 4u IPv4 2281738846 0t0 TCP *:ssh (LISTEN)named 8362 named 20u IPv4 2334751017 0t0 TCP localhost.localdomain:domain (LISTEN)named 8362 named 21u IPv4 2334751019 0t0 TCP crybit.com:domain (LISTEN)named 8362 named 22u IPv4 2334751021 0t0 TCP localhost.localdomain:rndc (LISTEN)named 8362 named 512u IPv4 2334751016 0t0 UDP localhost.localdomain:domainnamed 8362 named 513u IPv4 2334751018 0t0 UDP crybit.com:domaintcpserver 9975 root 3u IPv4 2335487959 0t0 TCP *:pop3 (LISTEN)tcpserver 9978 root 3u IPv4 2335487967 0t0 TCP *:pop3s (LISTEN)tcpserver 9983 root 3u IPv4 2335487997 0t0 TCP *:imap (LISTEN)tcpserver 9987 root 3u IPv4 2335488014 0t0 TCP *:imaps (LISTEN)xinetd 10413 root 5u IPv4 2336070983 0t0 TCP *:ftp (LISTEN)xinetd 10413 root 6u IPv4 2336070984 0t0 TCP *:smtp (LISTEN)mysqld 11106 mysql 10u IPv4 2340975114 0t0 TCP *:mysql (LISTEN)# lsof -i 6
Example:
# lsof -i 6COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 769 root 3u IPv6 2281738844 0t0 TCP *:ssh (LISTEN)named 8362 named 23u IPv6 2334751024 0t0 TCP localhost.localdomain:rndc (LISTEN)httpd 29241 root 4u IPv6 2439777206 0t0 TCP *:http (LISTEN)httpd 29241 root 6u IPv6 2439777211 0t0 TCP *:https (LISTEN)httpd 29243 apache 4u IPv6 2439777206 0t0 TCP *:http (LISTEN)httpd 29243 apache 6u IPv6 2439777211 0t0 TCP *:https (LISTEN)httpd 29244 apache 4u IPv6 2439777206 0t0 TCP *:http (LISTEN)httpd 29244 apache 6u IPv6 2439777211 0t0 TCP *:https (LISTEN)httpd 29245 apache 4u IPv6 2439777206 0t0 TCP *:http (LISTEN)httpd 29245 apache 6u IPv6 2439777211 0t0 TCP *:https (LISTEN)httpd 29246 apache 4u IPv6 2439777206 0t0 TCP *:http (LISTEN)
5, 列出端口在 1-1024 之间的所有进程
# lsof -i :1-1024
Example:
# lsof -i :1-1024COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 769 root 3u IPv6 2281738844 0t0 TCP *:ssh (LISTEN)sshd 769 root 4u IPv4 2281738846 0t0 TCP *:ssh (LISTEN)named 8362 named 20u IPv4 2334751017 0t0 TCP localhost.localdomain:domain (LISTEN)named 8362 named 21u IPv4 2334751019 0t0 TCP crybit.com:domain (LISTEN)named 8362 named 22u IPv4 2334751021 0t0 TCP localhost.localdomain:rndc (LISTEN)named 8362 named 23u IPv6 2334751024 0t0 TCP localhost.localdomain:rndc (LISTEN)tcpserver 9975 root 3u IPv4 2335487959 0t0 TCP *:pop3 (LISTEN)tcpserver 9978 root 3u IPv4 2335487967 0t0 TCP *:pop3s (LISTEN)tcpserver 9983 root 3u IPv4 2335487997 0t0 TCP *:imap (LISTEN)tcpserver 9987 root 3u IPv4 2335488014 0t0 TCP *:imaps (LISTEN)xinetd 10413 root 5u IPv4 2336070983 0t0 TCP *:ftp (LISTEN)xinetd 10413 root 6u IPv4 2336070984 0t0 TCP *:smtp (LISTEN)httpd 29241 root 4u IPv6 2439777206 0t0 TCP *:http (LISTEN)httpd 29241 root 6u IPv6 2439777211 0t0 TCP *:https (LISTEN)httpd 29243 apache 4u IPv6 2439777206 0t0 TCP *:http (LISTEN)........
6, 根据进程id来列出打开的文件
# lsof -p PID
Example:
# lsof -p 11106COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmysqld 11106 mysql cwd DIR 144,233 4096 119025114 /var/lib/mysqlmysqld 11106 mysql rtd DIR 144,233 4096 117711421 /mysqld 11106 mysql txt REG 144,233 9484782 119025094 /usr/libexec/mysqldmysqld 11106 mysql mem REG 8,37 119025094 /usr/libexec/mysqld (path dev=144,233)mysqld 11106 mysql mem REG 8,37 119021850 /lib64/libnss_dns-2.5.so (path dev=144,233)mysqld 11106 mysql mem REG 8,37 119021830 /lib64/libnss_files-2.5.so (path dev=144,233)mysqld 11106 mysql mem REG 8,37 119021841 /lib64/libsepol.so.1 (path dev=144,233)mysqld 11106 mysql mem REG 8,37 119021801 /lib64/libselinux.so.1 (path dev=144,233)mysqld 11106 mysql mem REG 8,37 119021785 /lib64/libresolv-2.5.so (path dev=144,233)mysqld 11106 mysql mem REG 8,37 119021920 /lib64/libkeyutils-1.2.so (path dev=144,233)mysqld 11106 mysql mem REG 8,37 119017006 /usr/lib64/libkrb5support.so.0.1 (path dev=144,233)........
7, 杀掉某个用户的所有活动进程
# killall -9 `lsof -t -u username`
8, 列出某个目录中被打开的文件
# lsof +D path_of_the_directory
Example:
# lsof +D /var/log/COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsyslogd 9729 root 1w REG 144,233 0 119019158 /var/log/kernelsyslogd 9729 root 2w REG 144,233 350722 119021699 /var/log/messagessyslogd 9729 root 3w REG 144,233 591577 119019159 /var/log/securesyslogd 9729 root 4w REG 144,233 591577 119019159 /var/log/secure
9, 根据进程名称列出打开的文件
# lsof -c process_name
Example:
# lsof -c sshCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 483 root cwd DIR 8,9 4096 2 /sshd 483 root rtd DIR 8,9 4096 2 /sshd 483 root txt REG 8,9 523488 1193409 /usr/sbin/sshd
10, 列出所有网络连接
# lsof -i
该命令列出所有侦听和已建立的网络连接 Example:
# lsof -iCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 769 root 3u IPv6 2281738844 0t0 TCP *:ssh (LISTEN)sshd 769 root 4u IPv4 2281738846 0t0 TCP *:ssh (LISTEN)named 8362 named 20u IPv4 2334751017 0t0 TCP localhost.localdomain:domain (LISTEN)named 8362 named 21u IPv4 2334751019 0t0 TCP crybit.com:domain (LISTEN)named 8362 named 22u IPv4 2334751021 0t0 TCP localhost.localdomain:rndc (LISTEN)named 8362 named 23u IPv6 2334751024 0t0 TCP localhost.localdomain:rndc (LISTEN)named 8362 named 512u IPv4 2334751016 0t0 UDP localhost.localdomain:domain
关于"如何使用lsof命令"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
进程
命令
网络
篇文章
代表
工具
更多
用户
端口
不错
实用
安全
名副其实
之间
内容
名称
屏幕
意思
截图
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
无锡企业软件开发代码
安全代理服务器品牌
一体机好还是多台服务器好
在内蒙古搞软件开发
戴尔R310服务器拆外壳
ios软件开发需要4级吗
四川专升本数据库 试卷答案
沈阳软件开发工作
徐州机械软件开发售后保障
软件开发中年危机
广电网络技术人员先进事迹
注册功能连接数据库
计算机软件开发师证题库
mt4服务器端
魔兽世界燃烧的远征服务器怎么看
jps数据库
宝山区网络软件开发销售
网络安全和数据安全
服务器系统管理员账号
时尚网络技术加盟费用多少
数据库走中台
互联网与科技有关的新闻
梅州市网络安全和信息化
数据库不够用
计算机网络安全的人为因素
玩具软件开发定制
联想收购了ibm服务器
网络技术实训报告结尾
服务器链接不上怎么解决
大数据与网络安全的关系