别让Linux网络基础拖后腿!这些 lsof 骚操作你真的了解吗?
off999 2025-03-20 17:36 30 浏览 0 评论
lsof 是 Linux 系统管理中极为强大的工具,尤其在网络问题排查中堪称神器。
以下从基础到进阶的用法解析,帮你彻底掌握网络相关的骚操作:
一、基础必知:网络连接的本质
Linux 中一切皆文件,网络连接本质是进程打开的特殊文件。通过 lsof 可以查看进程与网络文件(如 sockets)的关联。
二、网络排查核心命令
1. 查看所有网络连接
sudo lsof -i- 关键字段:COMMAND(进程名)、PID、USER、FD(文件描述符)、TYPE、DEVICE、SIZE/OFF、NODE、NAME(连接详情)
2. 精准过滤技巧
- 按协议过滤(TCP/UDP):
lsof -i TCP # 只看TCP连接
lsof -i UDP:53 # 查看使用UDP 53端口的连接(DNS常用)- 按端口精准定位:
lsof -i :8080 # 查看8080端口被谁占用
lsof -i :ssh # 查看SSH服务端口(默认22)- 按IP/域名追踪:
lsof -i @192.168.1.5 # 查看与特定IP的连接
lsof -i @google.com:443 # 追踪与Google 443端口的连接3. 查看监听端口(LISTEN状态)
sudo lsof -i -s TCP:LISTEN
# 等效命令
sudo lsof -i | grep LISTEN三、高阶骚操作
1. 进程级网络分析
- 查看指定进程的所有网络活动:
lsof -p -a -i # -a 表示逻辑与,组合查询 - 按进程名过滤(如 nginx):
lsof -i -c nginx # 精确匹配进程名
lsof -i -c /^nginx/ # 正则匹配(如 nginx-worker)2. 用户级网络监控
lsof -i -u root # 查看root用户的网络连接
lsof -i -u ^root # 排除root用户(非root用户连接)3. 网络文件与进程映射
lsof /var/run/mysql/mysql.sock # 查看谁在使用MySQL的Unix socket4. 实时网络监控(动态刷新)
watch -n 1 "lsof -p -i" # 每1秒刷新进程网络状态 四、性能优化技巧
1. 禁用反向解析加速输出
lsof -n -P -i # -n 禁用IP解析为主机名,-P 禁用端口解析为服务名2. 统计TCP连接数(按状态)
lsof -i TCP | awk '{print $8}' | sort | uniq -c
# 输出示例:
# 10 ESTABLISHED
# 2 LISTEN五、实战场景
1. 端口占用冲突
$ sudo lsof -i :3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 1234 john 22u IPv6 0xabcd... TCP *:3000 (LISTEN)立刻定位到 PID 1234 的 node 进程占用了 3000 端口。
2. 检测异常外连
lsof -i | grep 'ESTABLISHED' | grep 'xyz.com'发现进程与 xyz.com 的未授权连接,可能存在恶意软件。
六、总结:常用命令速查表
场景命令
- 查看所有网络连接 sudo lsof -i
- 按端口过滤 lsof -i :
- 按协议和状态过滤 lsof -i TCP:<状态>
- 查看进程网络活动 lsof -p
-a -i - 禁用解析加速 lsof -nP -i
- 统计TCP状态 lsof -i TCP
希望大家掌握这些技巧,这样你们的 Linux 网络问题排查效率将大幅提升。
同时建议结合 netstat/ss 等工具交叉验证,应对更复杂场景!
还是那句话:干中学,学中干
如果觉得不错的话,麻烦点个关注,收藏谢谢。
毕竟:
相关推荐
- tp路由器无线桥接怎么设置(tp路由器如何桥接设置)
-
1、路由器接通电源,打开路由器并链接。2、弹出的界面中,设置管理员密码后跳过引导。3、在应用管理”中找到无线桥接”选项。4、点击开始设置”,找到要连接的无线网络,输入密码后点击下一步”。5、输入无线密...
- 笔记本电脑处理器怎么选(笔记本电脑处理器怎么选2020)
-
从科普与测试中可以看出笔记本CPU的各方面性能差异还是比较大的,可以总结为,在购买笔记本电脑时应优先选择最新一代中的更高端型号CPU,需求性能较高的用户可以选够标压且核心更多的CPU,需求高续航和低功...
- 格式化后文件还能恢复吗(格式化后文件怎么恢复)
-
可以恢复的,但是如果文件被覆盖了就不能恢复了。磁盘格式化后,建立了新的文件系统格式,原来硬盘上的数据会被抹去,不过数据不是真正的被清除,在新的数据存入之前即文件被覆盖之前是可以恢复的。现在很多软件都支...
- win7无线网络共享设置方法(w7如何设置无线网络共享连接)
-
1.从右下角的网络连接标识或者是控制面板进入“网络和共享中心”,在左侧菜单里,选择“更改适配器配置”。2.找到已经连接的本地连接,然后右键菜单栏选择“属性”。3.在属性弹窗窗口中,找到“共享”选项卡,...
- 密钥是什么意思(电脑不含密钥是什么意思)
-
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为两种:对称密钥与非对称密钥。对称密钥加密,又称私钥加密或会话密钥加密算法,即信息的发送方和接收方用同一个密钥去加密和解...
- u盘启动bios设置方法(优盘启动bios设置方法)
-
1.通过按键进入BIOS设置,可以实现U盘启动。2.进入BIOS设置的原因是为了修改启动选项,让电脑从U盘启动。通常情况下,电脑默认会从硬盘启动,而我们需要通过修改BIOS设置来改变启动顺序。3....
- 黑客网站免费盗号(黑客盗号专用软件)
-
我不是黑客,当然也不会盗号,请你注意以下,不要加游戏里人的qq,不要登录有病毒网页,不要去看游戏里的网站,不要占小便宜。他们会盗号因为他们有盗号器。我跟您说:这个的确很简单,第一:不要用什么...
- win732位系统激活(win732位系统怎么激活)
-
按组合按钮“win+r”打开“运行对话框”,输入命令“slmgr.vbs-xpr”,点击确定。发现系统未激活状态。在“此电脑”鼠标右键,打开属性。在开始菜单上,点击鼠标右键,选择命令提示符{管理员}...
- 家庭无线网怎么修改密码(家庭无线网怎么修改密码没有电脑)
-
一般更改无线网络密码的方法(以家用无线路由器提供的无线网络为参考):1、打开浏览器输入路由器地址。无线路由器的设置地址一般为“192.168.0.1或192.168.1.1”。当然也有部分路由...
- 联想笔记本系统重装win10系统
-
联想笔记本win10系统重装系统可以在电脑设置中完成。 一、首先,打开联想笔记本进入win10系统,在系统桌面左下角找到“开始菜单”中的“设置”点击打开。  ...
- vivo浏览器下载(vivo浏览器下载安装2022最新版)
-
您好! 很抱歉给您带来不便!建议您尝试以下方法哦;1、进入设置--更多设置--应用程序--全部找到该浏览器并清除该程序的数据试试哦! 2、您也可以讲该软件卸载掉进入设置--更多设置--应用程序...
- mac电脑和windows区别(mac和window有什么区别)
-
1、首先从外观上说,mac笔记本大多是超薄,轻便,好看。而windows笔记本大多数来说那就较厚了。2、价钱方面,mac也更贵,低配的manbookpro也要九千以上。3、从最基本上来说,mac搭...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
