losf 学习

作者: random233 | 来源:发表于2016-01-23 17:26 被阅读257次

获得网络信息

lsof -i
root@hello-test-master:~# lsof -i
COMMAND     PID            USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
sshd       1002            root    3r  IPv4 4997647      0t0  TCP 120.199.120.153:ssh->123.158.57.152:15350 (ESTABLISHED)
apache2    1216        www-data    4u  IPv6    8861      0t0  TCP *:http (LISTEN)
mysqld     1366           mysql   10u  IPv4  101938      0t0  TCP *:mysql (LISTEN)

只显示ipv6

 lsof -i 6

只显示tcp

 lsof -iTCP

只显示某一端口号

lsof -i :22
root@hello-test-master:~# lsof -i :22
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
sshd     1002 root    3r  IPv4 4997647      0t0  TCP 120.199.120.153:ssh->123.158.57.152:15350 (ESTABLISHED)
sshd    18614 root    3u  IPv4 4076899      0t0  TCP *:ssh (LISTEN)
sshd    18614 root    4u  IPv6 4076901      0t0  TCP *:ssh (LISTEN)
sshd    20964 root    3r  IPv4 4429946      0t0  TCP 120.199.120.153:ssh->123.58.191.68:20517 (ESTABLISHED)

显示与某个host的连接

lsof -i@172.16.12.5
root@hello-test-master:~# lsof -i@123.158.57.152
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
sshd    1002 root    3r  IPv4 4997647      0t0  TCP 120.199.120.153:ssh->123.158.57.152:15350 (ESTABLISHED)
root@hello-test-master:~# 

显示与某个host,port的连接

root@hello-test-master:~# lsof -i@123.158.57.152:15350
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
sshd    1002 root    3r  IPv4 4997647      0t0  TCP 120.199.120.153:ssh->123.158.57.152:15350 (ESTABLISHED)
root@hello-test-master:~# 

过滤监听端口

找出那些等待连接的端口

lsof -i -sTCP:LISTEN
root@hello-test-master:~# lsof -i -sTCP:LISTEN
COMMAND     PID            USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
apache2    1216        www-data    4u  IPv6    8861      0t0  TCP *:http (LISTEN)
mysqld     1366           mysql   10u  IPv4  101938      0t0  TCP *:mysql (LISTEN)
rpcbind    1686            root    8u  IPv4    5073      0t0  TCP *:sunrpc (LISTEN)
rpcbind    1686            root   11u  IPv6    5080      0t0  TCP *:sunrpc (LISTEN)
rpc.statd  1717           statd    8u  IPv4    6145      0t0  TCP *:58319 (LISTEN)
rpc.statd  1717           statd   10u  IPv6    6153      0t0  TCP *:36763 (LISTEN)
netserver  1799            root    4u  IPv4    6221      0t0  TCP *:12865 (LISTEN)

当然也可以使用 grep LISTEN的方法

lsof -i | grep -i LISTEN

找到已经建立的连接

关键词 ESTABLISHED

lsof -i -sTCP:ESTABLISHED

或者

lsof -i | grep -i ESTABLISHED

用户信息

获得某一个用户的信息,包括他们的网络活动,打开文件信息
例如:

lsof -u root

排除例外规则

lsof -u ^root

结束一个用户的所有活动

kill -9 `lsof -t -u daniel`

命令与进程

查看某一命令在使用哪些文件,连接

lsof -c python

查看某一进程ID

 lsof -p 10075

某一个命令的pid是多少

lsof -t -c python
lsof -t -c apache2

文件和目录

查看与某一目录相关的所有活动

lsof /var/log/messages/
root@hello-test-master:~# lsof /var/log/messages/
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
rsyslogd  1991 root    7w   REG  254,1    26168 273614 /var/log/messages
nhids-log 2696 root    5r   REG  254,1    26168 273614 /var/log/messages
root@hello-test-master:~# 

与某一文件相关的所有活动

 lsof /home/daniel/firewall_whitelist.txt

高级用法

tcpdump相似,也可以加入过滤器

过滤用户与ip

lsof -u daniel -i @1.1.1.1

-t 和 -c 来HUP进程

kill -HUP `lsof -t -c sshd`

就是把lsof列出的全杀掉

列出 port range里面,打开的连接

lsof -i @fw.google.com:2150=2180

结论

lsof大法好,退 netstatps 保平安!

相关文章

  • losf 学习

    获得网络信息 只显示ipv6 只显示tcp 只显示某一端口号 显示与某个host的连接 显示与某个host,por...

  • Mac下端口占用问题

    首先介绍一下 losf: losf简介: lsof(list open files)是一个列出当前系统打开文件的工...

  • linux运维工程师技能学习

    技能列表 1 熟练使用losf,netstat,vmstat,iotop等命令分析定位问题解决问题。2 熟悉常见应...

  • 使用losf命令排查进程文件句柄泄漏

    losf命令说明 lsof(list open files)是linux中一个列出当前系统打开文件的工具。也可以在...

  • 学习学习学习

    第三天了,连续三天,早上睁眼开始,看视频,做课件,连续作业,直到晚上十二点才睡觉。吃饭不规律,想起来就吃,感觉不饿...

  • 学习学习学习

    23岁的我,才真正明白,什么是学习,什么是努力,努力和不努力真的不同,就好比同样是一篇稿子,我用一周背下来,有的人...

  • 学习学习学习!

    妈妈总是让我学习,我只能用装当办法。 方法一: 方法二: 方法三: 方法四: ...

  • 学习学习学习

    001.今天看财富自由之路看了第二遍,而且看了一半,算是完成任务很开心。中间有想放弃的念头,坚持看完。眼睛痛,一直...

  • 学习学习学习

    马自达为什么坚持高压缩比自吸

  • 学习!学习!学习!

    学习的痛苦是暂时的 没有学到的痛苦是永恒的 因为学习而特别充实的一天 很踏实 ~~~~ 2015.11.28.阴天...

网友评论

    本文标题:losf 学习

    本文链接:https://www.haomeiwen.com/subject/rjsrkttx.html