losf 学习

获得网络信息

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 保平安!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,394评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 100,199评论 9 468
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 9,208评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • 1.Linux下如何用命令查看实时日志(完整命令) tail -f 路径.log查看前多少行 tai-200f 路...
    qianyewhy阅读 7,116评论 0 11

友情链接更多精彩内容