惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
H
Help Net Security
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
A
About on SuperTechFans
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
博客园 - 【当耐特】
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
I
InfoQ
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
U
Unit 42
The Cloudflare Blog
Y
Y Combinator Blog

灰叶的笔记

Linux逻辑卷2-扩容/常用命令汇总 | 灰叶的笔记 Dockerfile 容器镜像构建 | 灰叶的笔记 Linux 查看内存和实际物理内存大小不一致 | 灰叶的笔记 GCP创建泛域名证书(域名托管在CloudFlare) | 灰叶的笔记 Docker基础指令-镜像相关 | 灰叶的笔记 Docker基础指令-容器相关 | 灰叶的笔记 GCP和AWS使用PCCW专线互联 | 灰叶的笔记 使用 OpenTelemetry 采集日志推送至 GCP Cloud Logging | 灰叶的笔记 vim编辑器常用操作 | 灰叶的笔记 Linux主机是否被入侵的11个排查步骤 | 灰叶的笔记 Ubuntu 安装 Docker-CE | 灰叶的笔记 Fail2Ban-Linux防SSH暴力破解工具 | 灰叶的笔记 公用云Linux快照创建磁盘挂载问题 | 灰叶的笔记 ubuntu 安装图形化桌面 | 灰叶的笔记 iptables基础命令与filter表相关命令 | 灰叶的笔记 Linux逻辑卷 | 灰叶的笔记 UCloud CentOS6.X修改hostname | 灰叶的笔记 软件源安装Dokcer | 灰叶的笔记 Ubuntu系统启用root用户ssh远程登录 | 灰叶的笔记 Windows Server关闭IE增强 | 灰叶的笔记 windows云服务器开启媒体声音 | 灰叶的笔记 MySQL5.7多实例部署 | 灰叶的笔记 nc网络工具 | 灰叶的笔记 WinServer2008云服务器系统盘可压缩空间不足 | 灰叶的笔记 Rocky Linux8.5 UCloud官方镜像进入单用户模式 | 灰叶的笔记 UCloud官方Linux 镜像进入单用户模式汇总 | 灰叶的笔记 Debian10 UCloud官方镜像进入单用户模式 | 灰叶的笔记 CentOS6 UCloud官方镜像进入单用户模式 | 灰叶的笔记 CentOS7/8 UCloud官方镜像进入单用户模式 | 灰叶的笔记 Ubuntu UCloud官方镜像进入单用户模式 | 灰叶的笔记
几个检查本机的网络连接的工具(linux) | 灰叶的笔记
huiye · 2022-10-25 · via 灰叶的笔记

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

方法一: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进程监控也是必要的