几个检查本机的网络连接的工具(linux)

Linux2年前 (2022)更新 huiye
149 0

服务器出现流量异常时,可结合使用多种工具/命令排查异常进程或连接

方法一:netstat命令

使用netstat的参数组合来排查异常连接的IP或端口/进程。一般的linux发行版都默认集成了此工具,不需要额外安装

# netstat -pantu
注:一般State为ESTABLISHED的Foreign Address地址,就是与本机建立连接的外部IP地址,如下图所示
几个检查本机的网络连接的工具(linux)

 

内容解析:

Proto:协议类型 
Local Address:本地IP地址与端口 
Foreign Address:与外部建立连接的IP地址与端口 
State:连接状态。常见的状态如: 
①LISTEN:监听状态,等待远程机器的连接; 
②ESTABLISHED:已建立连接 
PID/Program name:进程号/进程名称(通过哪个进程建立的连接) 
Recv-Q:网络接收队列;表示收到的数据已经在本地接收缓冲,但还有多少没有被进程取走 
Send-Q:网络发送队列;表示对方没有收到的数据或者没有Ack的,还在本地缓冲区 

上面两个值正常情况下都为0,短暂为非0是正常的;但若Recv-Q一直处于非0阻塞状态,可能是遭遇了DOS攻击;若Send-Q不能很快清0,可能是对外发送数据包过快,或者对方接收数据速度不够快,但也要考虑下是主机否是被黑入,正在对外进行Dos攻击

参数解析:

-p:显示进程号与进程名
-a:显示所有的连接(默认显示已建立的连接)
-n:不显示别名
-t:列出所有的tcp端口
-u:列出所有的udp端口

netstat其他常用参数:

-l:列出处于监听状态的连接
-r:列出路由表
-i:列出网络接口列表
--help:帮助信息

netstat其他常用组合(皆可配合grep使用):

netstat -anp #查看所有的连接情况
netstat -ntlp #查看所有tcp端口占用情况
netstat -nulp #查看所有udp端口占用情况

方法二:iftop流量监控工具

iftop是一个实时流量监控工具,通过监控每一条连接的带宽使用情况,判断当前是否有过度占用网络资源的连接。工具需要单独安装

安装方式:

CentOS/RHEL

# yum install -y iftop

Debian/Ubuntu

$ sudo apt install -y iftop

基本命令(默认监控第一张网卡):

iftop
# 输入后会进入如下界面
几个检查本机的网络连接的工具(linux)

 

内容解析:

几个检查本机的网络连接的工具(linux)

其他常用参数:

-i:指定监控网卡
# iftop -i eth0

-n:直接显示IP,不做DNS反解析
# iftop -n

交互操作(进入iftop界面后,按键盘操作):

h:帮助
q:退出iftop
n:切换IP或域名显示
N:显示端口信息的情况下,切换显示端口号或服务名称
s:显示或隐藏本机host信息
S:显示或隐藏本机端口信息
d:显示或隐藏远端host信息
D:显示或隐藏远端端口信息
p:显示或隐藏端口信息
P:暂停或继续显示
t:切换流量显示方式
T:显示或隐藏每个连接的总流量
L:切换平均流量条刻度范围
b:显示或隐藏平均流量条
B:切换流量条显示2秒或10秒或40秒内的平均流量
o:切换是否固定当前显示
<:根据本机host信息排序
>:根据远端host信息排序
j/k:向上/下滚动显示记录
1/2/3:按照右边三列流量数据进行排序

方法三:nethogs流量监控工具

nethogs是另一款网络流量监控工具,和iftop不同的是,nethogs是按进程来实时统计网络带宽使用情况,操作相对于iftop更加简单,也需要单独安装

安装方式:

CentOS/RHEL

# yum install -y nethogs

Debian/Ubuntu

$ sudo apt install -y nethogs

基本命令:

# nethogs
#输入后进入如下界面
几个检查本机的网络连接的工具(linux)

内容解析:

几个检查本机的网络连接的工具(linux)

其他常用参数与用法:

指定网卡(如指定eth2网卡):
# nethogs eth2

-V:打印版本号
-h:打印帮助信息
-d:指定刷新的间隔时间(以秒为单位) ,如间隔1S刷新
# nethogs -d 1
-c:指定刷新次数,默认为0(无限制),如指定刷新10次
# nethogs -c 10
-a:监控所有设备,包括回环/已停止的

交互操作(进入nethogs界面后,按键盘操作)

q:退出nethogs
m:修改流量单位
r:按接收速度排序
s:按发送速度排序

总结:netstat能够查看所有端口占用与网络连接状态,iftop以单条连接为统计维度来监控当前的流量使用情况,nethogs以单个进程为统计维度来监控当前的流量使用情况。单个工具排查起来可能不太明确,可使用多个工具综合判断当前系统内是否存在异常连接的进程或连接,当然对比top进程监控也是必要的

© 版权声明

相关文章