Linux排查哪个进程和IP在占用网速

2024-07-05 17:49:28 1988

Linux排查哪个进程和IP在占用网速

蓝队云小课堂:

Linux排查哪个进程在占用网速

使用NetHogs定位哪个进程在占用流量

# 安装NetHogs。

yum install nethogs -y


nethogs常用参数

参数 解释

-V : 打印版本。

-h : 打印此帮助。

-b : bughunt模式 - 暗示tracemode。

-d : 延迟更新刷新率(以秒为单位)。 默认值为1。

-v : 视图模式(0 = KB / s,1 =总KB,2 =总B,3 =总MB)。 默认值为0。

-c : 更新次数。 默认为0(无限制)。

-t : trace模式.

-p : 煽动混乱模式(不推荐)。

-s : 按发送列排序输出。

-a : 监控所有设备,甚至环回/停止。

device : 要监控的设备。 默认是所有接口启动和运行,不包括环回


当nethogs运行时,按:

q:退出

s:按SENT流量排序

r:按RECEIVE流量排序

m:在总(KB,B,MB)和KB / s模式之间切换


查看进程流量

# 执行以下命令,查看占用内网带宽的进程。

nethogs eth0

# 查询间隔(-d)5秒

nethogs eth1 -d 5

image.png

显示界面说明

在nethogs监控界面,按s可以按照Sent列进行排序,按r可以按照Received列进行排序,按m可以切换不同的统计单位显示,例如kb/s、kb、b、mb。监控界面信息说明如下所示。

image.png


使用iftop定位哪个IP在占用流量

iftop基本用法

image.png

查看哪个连接占用流量最多

# 查看eth0哪个连接网络流量最多

iftop -P

不解析域名,所有的网络连接都以ip显示

iftop -n

指定监控网卡

# 不加i参数表示监控所有网卡

iftop

# 指定网卡且不解析dns

iftop -n -i eth0 

# 查看流量较高的是占用的端口(或服务)

iftop -i eth0 -P

# -N查看流量较高的是占用的端口

iftop -i eth0 -P -N

image.png

image.png

定位端口占用的pid

# 使用fuser定位端口的pid

## -v 详细输出

## -n 在此名称空间中搜索(文件、udp 或 tcp)

### -n tcp 在tcp中搜索

fuser -v -n tcp 3306

# 结束掉占用的pid

kill -s 9 pid


使用lsof定位端口的pid

lsof -i:端口号

[landui@localhost ~]$ sudo lsof -i:80

COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

haproxy 9521 haproxy    9u  IPv4  63613      0t0  TCP *:http (LISTEN)

##  -n 不要将端口号转换为端口名称。

## -P 不解析主机名,显示数字地址。

## -iTCP -sTCP:LISTEN -仅显示TCP状态为LISTEN的网络文件

# 查看TCP22端口是哪个进程占用

sudo lsof -nP -iTCP:22 -sTCP:LISTEN

# 查看监听的所有TCP端口

sudo lsof -nP -iTCP -sTCP:LISTEN


通过PID进程号查找启动程序全路径

ls -ail /proc/pid进程号

cwd是该进程的工作目录

exe是启程序的启动路径

fd包含进程打开文件的情况

image.png


结束进程

# 停止进程

kill -15 pid号

# 强制结束进程

kill -9 pid号


日志分析

日志分析可以使用logwatch或awstats等工具进行。

更多小知识,可联系蓝队云一起探讨。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: