您的位置:首页 > 其它

lsof用法

2018-03-30 16:24 274 查看
默认 : 没有选项,lsof列出活跃进程的所有打开文件
组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数
-a : 结果进行“与”运算(而不是“或”)
-l : 在输出显示用户ID而不是用户名
-h : 获得帮助
-t : 仅获取进程ID
-U : 获取UNIX套接口地址
-F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)
普通用法:
使用-i:port来显示与指定端口相关的网络信息
# lsof -i :22
查看所属root用户进程所打开的文件类型为txt的文件:
# lsof -a -u root -d txt
使用-i 6仅获取IPv6流量
# lsof -i 6
仅显示TCP连接(同理可获得UDP连接)
# lsof -iTCP
使用@host来显示指定到指定主机的连接
# lsof -i@172.16.12.5
使用@host:port显示基于主机与端口的连接
# lsof -i@172.16.12.5:22
找出监听端口
# lsof -i -sTCP:LISTEN
# lsof -i | grep -i LISTEN
找出已建立的连接
# lsof -i -sTCP:ESTABLISHED
# lsof -i | grep -i ESTABLISHED
使用-u显示指定用户打开了什么
#lsof -u daniel
使用-u ^user来显示除指定用户以外的其它所有用户所做的事情
# lsof -u ^daniel
杀死指定用户所做的一切事情
# kill -9 `lsof -t -u daniel`
使用-c查看指定的命令正在使用的文件和网络连接
# lsof -c syslog-ng
使用-p查看指定进程ID已打开的内容
# lsof -p 10075
-t选项只返回PID
# lsof -t -c Mail
# lsof -t  -c sshd
显示与指定目录交互的所有一切
# lsof /var/log/messages/
显示与指定文件交互的所有一切
# lsof /home/daniel/firewall_whitelist.txt


高级用法:

显示daniel连接到1.1.1.1所做的一切
# lsof -u daniel -i @1.1.1.1

同时使用-t和-c选项以给进程发送 HUP 信号
# kill -HUP `lsof -t -c sshd`

lsof +L1显示所有打开的链接数小于1的文件。这通常(当不总是)表示某个
攻击者正尝试通过删除文件入口来隐藏文件内容。
# lsof +L1

显示某个端口范围的打开的连接
# lsof -i @fw.google.com:2150=2180


查看原文:http://www.chenqmc.com/?p=407
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: