Linux怎么查看特定端口的流量统计

使用iptables可精确统计特定端口的累计流量,通过添加INPUT和OUTPUT规则并查看其计数器实现;若需实时监控,则推荐iftop或nethogs;为确保规则重启后生效,需在Debian/Ubuntu上使用iptables-persistent,在RHEL/CentOS上保存至配置文件;此外,结合sar、vnstat、nethogs、tcpdump等工具可全面监控网络性能。

linux怎么查看特定端口的流量统计

想在Linux上快速查看特定端口的流量统计?我的经验是,

iptables

是获取精确、累计流量数据最直接也最可靠的方法。它能在内核层面帮你统计到进出特定端口的包和字节数。当然,如果你只是想实时看看当前有哪些流量在跑,

iftop

或者

nethogs

这样的工具会更直观、更方便。

解决方案

要统计特定端口的流量,我们通常会利用

iptables

的计数功能。这个工具非常强大,不仅能做防火墙,还能精确地统计符合特定规则的数据包。

具体来说,你可以为目标端口添加两条不影响实际转发的计数规则。比如,我们要统计8080端口的TCP流量:

添加计数规则:为了不干扰现有防火墙策略,我们通常将这些规则添加到链的末尾,或者创建专门的计数链。但为了快速获取统计,直接追加到

INPUT

OUTPUT

链是可行的,只要确保它们不被前面的

DROP

REJECT

规则阻止。

# 统计进入8080端口的TCP流量sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT# 统计从8080端口发出的TCP流量sudo iptables -A OUTPUT -p tcp --sport 8080 -j ACCEPT

这里我用了

-j ACCEPT

,实际上它只是允许流量通过,但更重要的是,在它被匹配时,

iptables

会自动更新该规则的包和字节计数。如果你不想影响任何现有的防火墙逻辑,可以创建一个自定义链专门用于计数,或者使用

RETURN

目标。不过,对于简单的统计,这种方式足够了。

查看统计结果:执行以下命令,你会看到每条

iptables

规则对应的包(

pkts

)和字节(

bytes

)计数。

sudo iptables -L -v -n

在输出中,找到你为8080端口添加的规则,就能看到它们的累计流量了。

清零计数器:如果你想重新开始统计,或者只是想看某个时间段内的流量,可以清零所有规则的计数器:

sudo iptables -Z

或者,只清零特定规则的计数器(这需要知道规则的编号,或者使用更复杂的匹配):

# 假设你的规则是INPUT链的第X条,但通常直接Z掉所有更方便# sudo iptables -Z INPUT X

实时流量监控:如果你的需求是实时查看流量,而不是累计统计,那么

iptables

就不太合适了。这时,

iftop

nethogs

会是更好的选择。

iftop

它可以显示网络接口上实时的带宽使用情况,并且可以过滤特定端口。

# 安装(Debian/Ubuntu)sudo apt install iftop# 安装(CentOS/RHEL)sudo yum install epel-release && sudo yum install iftop# 监控eth0接口上8080端口的流量sudo iftop -i eth0 -f 'port 8080'

它会显示类似

top

的界面,实时更新连接和带宽。

nethogs

这个工具更棒的地方在于,它能显示是哪个进程在使用网络带宽,这对于排查问题非常有帮助。

# 安装(Debian/Ubuntu)sudo apt install nethogs# 安装(CentOS/RHEL)sudo yum install epel-release && sudo yum install nethogs# 监控eth0接口,并显示进程名sudo nethogs -d 1 eth0# 如果想过滤端口,可能需要结合其他工具,或者在nethogs输出后手动查找# nethogs本身没有直接的端口过滤参数,但你可以用tcpdump捕获后分析,或者在nethogs输出中找

为什么常规的网络工具(如

netstat

ss

)在统计流量时不够用?

我以前也经常犯这个错误,总觉得

netstat

或者

ss

能看到一切网络活动。但实际上,这些工具主要是用来显示网络连接的状态、监听的端口、以及路由表信息。它们能告诉你“谁在跟谁说话”,以及“他们在用什么协议”,甚至能看到当前连接的发送/接收队列大小,但它们通常不提供累计的、历史的流量统计数据,比如某个端口在过去一小时内传输了多少字节或多少个包。

netstat

ss

提供的是一种快照视图,它们告诉你的是“现在”正在发生什么,或者“现在”有哪些连接存在。如果你想知道一个端口在一段时间内总共处理了多少数据,它们就显得力不从心了。而

iptables

则不同,它的计数器是持续累加的,除非你手动清零或者系统重启,它会一直记录数据,这正是我们进行流量统计时所需要的。所以,区分“连接状态”和“流量统计”是很关键的。

如何确保

iptables

规则在系统重启后依然有效?

iptables

规则默认是存储在内存中的,这意味着一旦系统重启,你手动添加的规则就会丢失。这对于流量统计来说是个大问题,因为你希望统计是持续的。为了让规则持久化,我们需要将它们保存到文件中,并在系统启动时自动加载。

不同的Linux发行版有不同的处理方式:

Debian/Ubuntu系列:通常使用

iptables-persistent

这个包来管理。

安装:

sudo apt install iptables-persistent

安装过程中会询问你是否保存当前的IPv4和IPv6规则,选择“是”。

保存当前规则:当你修改了

iptables

规则后,需要手动保存它们:

sudo netfilter-persistent save# 或者直接sudo service netfilter-persistent save

这会将规则写入

/etc/iptables/rules.v4

/etc/iptables/rules.v6

服务管理:

iptables-persistent

会作为一个systemd服务在启动时加载这些文件中的规则。你可以检查其状态:

systemctl status netfilter-persistent.service

RHEL/CentOS系列:这些系统通常使用

iptables

服务或

firewalld

(但如果你用

iptables

命令,通常是直接操作

iptables

服务)。

保存当前规则:当你修改了

iptables

规则后,使用以下命令保存:

sudo service iptables save# 或者对于较新的系统sudo iptables-save > /etc/sysconfig/iptables

这会将规则写入

/etc/sysconfig/iptables

启用服务:确保

iptables

服务在系统启动时自动启动:

sudo systemctl enable iptablessudo systemctl start iptables

注意: 如果你的系统默认使用

firewalld

,那么直接操作

iptables

可能会与

firewalld

冲突。在这种情况下,你需要禁用

firewalld

并启用

iptables

服务,或者通过

firewalld

的接口来添加规则(

firewall-cmd

)。不过,用

firewalld

来做这种精确的端口流量计数会复杂一些。

我的建议是,如果你只是为了统计流量而添加

iptables

规则,并且不希望这些规则影响你现有的防火墙逻辑,那么在保存规则时要格外小心。最好是只保存那些你确实需要持久化的规则,或者将统计规则放在一个单独的、优先级较低的链中,这样它们不会意外地阻塞合法流量。

除了端口流量,还有哪些方法可以监控Linux系统的网络性能?

很多时候,我们不光要看某个端口忙不忙,更要看整个网络链路是不是健康。除了特定端口的流量,还有很多维度可以监控Linux系统的网络性能,这能帮助我们更全面地了解问题。

接口级别的整体流量:

sar -n DEV

sysstat

工具集中的

sar

命令可以提供历史的、按接口统计的发送和接收字节数、包数等。这对于了解某个网卡(如

eth0

)的总负载非常有用。

sar -n DEV 1 5 # 每秒刷新一次,共5次

vnstat

这是一个轻量级的网络流量监控工具,可以统计每日、每周、每月的网络流量,并提供漂亮的图表(如果你用其前端)。

sudo apt install vnstat # 或 yum install vnstatsudo vnstat -u -i eth0 # 初始化数据库vnstat # 查看统计

collectd

/

Prometheus node_exporter

如果你需要长期、系统级的性能数据收集和可视化,这些是更专业的解决方案。它们能将各种指标(包括网络流量)发送到时间序列数据库(如InfluxDB, Prometheus),然后通过Grafana进行展示。

进程级别的网络使用:

lsof -i :port

虽然不是直接的流量统计,但这个命令可以帮你找出哪个进程正在使用某个特定的端口。一旦知道了进程ID,你就可以结合其他工具(如

strace

procfs

)进行更深入的分析。

sudo lsof -i :8080

nethogs

前面已经提到过,它能直接显示每个进程的实时带宽使用情况,这在排查哪个应用“吃”掉了带宽时非常高效。

更深层的包分析:

tcpdump

这是网络排障的瑞士军刀。它可以捕获符合特定条件的网络数据包,然后你可以用

Wireshark

(图形界面)或

tshark

(命令行)进行分析,查看包头、内容、延迟、重传等,从而定位网络协议层面的问题。

sudo tcpdump -i eth0 port 8080 -w /tmp/port8080.pcap# 捕获后可以用 Wireshark 打开 /tmp/port8080.pcap 分析

网络连通性和延迟:

ping

检查主机之间基本的连通性,以及往返延迟。

traceroute

/

mtr

用于跟踪数据包从源到目的地的路径,找出网络延迟或丢包发生在哪个节点。

mtr

结合了

ping

traceroute

的功能,提供更详细的实时报告。

综合来看,针对不同的监控需求,我们需要选择不同的工具。

iptables

用于精确的累计统计,

iftop

/

nethogs

用于实时监控,而

sar

/

vnstat

则用于接口级别的宏观流量分析,

tcpdump

则用于深入的协议排障。

以上就是Linux怎么查看特定端口的流量统计的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/197809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
曝小米汽车开启展车员工内购活动 可享受八折优惠
上一篇 2026年9月10日 13:00:20
货拉拉司机版怎样申请专属标签提升曝光_货拉拉司机版标签申请的品牌化策略
下一篇 2026年9月10日 13:03:59

相关推荐

  • VSCode的代码格式化快捷键是什么?

    VSCode代码格式化快捷键为Shift+Alt+F(Windows/Linux)或Shift+Option+F(macOS),需安装对应语言的格式化工具;若无效,可能是未安装扩展、文件类型不支持或快捷键冲突;可右键选择“格式化文档”或通过命令面板执行,也可在键盘快捷方式中自定义。 VSCode的代…

    2026年9月21日
    000
  • 抖音电商橱窗带货技巧:如何有效提高转化率

    一、引言 近年来,随着短视频内容生态的蓬勃发展,抖音已成为电商营销的重要阵地。其中,电商橱窗作为连接用户与商品的核心工具,被越来越多商家和创作者广泛使用。在竞争日益激烈的环境中,掌握有效的带货技巧,提升转化效率,成为实现销售增长的关键。本文将深入解析如何通过科学策略提升抖音电商橱窗的运营效果。 二、…

    2026年9月21日
    100
  • Linux怎么踢出指定的登录用户

    要踢出指定登录用户,首先使用w或who命令识别其TTY或会话ID,再通过pkill -KILL -t 强制终止会话,或用loginctl terminate-session 优雅结束;若需防止重新登录,可临时锁定账户(passwd -l)或将用户shell改为/sbin/nologin。 在Linu…

    2026年9月21日
    000
  • 如何在Java中实现简单的输入输出

    使用Scanner类读取键盘输入,需导入java.util.Scanner并创建实例;2. 调用nextInt、nextLine等方法获取不同类型数据,注意nextInt不读取换行符可能导致nextLine读取空字符串;3. 推荐使用后关闭Scanner;4. 输出通过System.out.prin…

    2026年9月21日
    000
  • 自定义组件(Component)的开发方法

    开发自定义组件的步骤包括:1. 使用html和css定义组件结构和样式;2. 用javascript实现动态效果和状态管理;3. 确保跨浏览器和设备兼容性;4. 采用模块化设计和外部状态管理工具;5. 进行性能优化和测试驱动开发。通过这些步骤,可以创建出优雅且高效的自定义组件,提升用户体验。 在开发…

    2026年9月21日
    000
  • mac怎么用命令行定时关机_Mac命令行定时关机方法

    使用shutdown命令可设定Mac在指定时间或相对分钟后关机;2. 通过pmset命令能创建每周重复的定时关机任务;3. 可用pmset -g sched查看计划,sudo pmset repeat cancel取消重复任务,kill终止一次性关机。 如果您希望在离开电脑后让Mac在特定时间自动关…

    2026年9月21日
    100
  • 如何配置mysql初始用户和密码

    答案:MySQL安装后默认用户为root,密码为空或自动生成。需先确认服务运行,再登录并设置密码;若为空密码则直接登录后用ALTER USER修改,若为临时密码需从日志获取并强制修改;可创建远程用户并授权;推荐运行mysql_secure_installation进行安全加固,包括设密码、删匿名用户…

    2026年9月21日
    000
  • 抖音扫码点单小程序介绍及使用方法解析

    抖音扫码点单小程序在哪里 引言: 在移动互联网迅猛发展的背景下,小程序已深度融入人们的日常生活。作为抖音生态中的重要一环,抖音扫码点单小程序为线下消费场景注入了新的活力,搭建起商家与用户之间高效互动的桥梁。本文将围绕其核心功能、具体操作流程以及市场数据表现等方面进行全面解读,助力用户和商户更好地掌握…

    2026年9月21日
    000
  • Linux如何查看默认网关

    使用ip route命令可查看默认网关,如ip route | grep default显示default via 192.168.1.1 dev eth0,其中192.168.1.1为网关地址。 在Linux系统中,查看默认网关是网络排查中的常见操作。可以通过命令行工具快速获取当前系统的默认路由信…

    2026年9月21日
    200
  • mysql如何排查磁盘IO瓶颈

    首先检查系统级磁盘IO,使用iostat、iotop等工具分析磁盘利用率和进程IO行为;再通过MySQL慢查询日志、sys.schema视图及SHOW ENGINE INNODB STATUS排查高IO消耗的SQL与内部等待事件;接着评估innodb_buffer_pool_size、innodb_…

    2026年9月21日
    000
  • MAC怎么查询硬件序列号_Mac查找本机序列号与保修信息

    首先可通过“关于本机”查看Mac序列号,依次点击苹果菜单→“关于本机”即可获取;也可通过“系统信息”或“终端”命令ioreg -l | grep IOPlatformSerialNumber查找;若无法操作设备,可登录Apple ID账户在线查询;最后访问苹果官网保修查询页面输入序列号,即可验证保修…

    2026年9月21日
    200
  • win11右下角操作中心图标点击无反应怎么办_Win11操作中心图标无反应修复方法

    1、重启Windows资源管理器可解决因进程异常导致的操作中心无响应问题;2、运行DISM和SFC命令修复系统文件损坏;3、通过Windows更新安装最新补丁;4、在组策略中确保“删除通知和操作中心”未被启用;5、使用系统恢复选项重新安装系统组件以排除配置冲突,适用于专业版或企业版用户。 如果您尝试…

    2026年9月21日
    200
  • Safari浏览器下载中断怎么办 Safari浏览器下载失败问题修复方法

    先检查下载状态和权限设置,确认网站未被限制下载;通过无痕模式测试排除缓存或插件干扰;清理部分下载文件并更换网络环境;最后更新系统以确保兼容性。 遇到 Safari 下载中断或失败,别急着重启电脑。先确认下载是否真的卡住,有时只是速度慢。点按浏览器右下角的“显示所有下载”按钮(箭头方框图标),查看列表…

    2026年9月21日
    300
  • 苹果手机如何查看详细电池用量

    首先在“设置”中查看电池用量,可分析过去24小时和最近10天的使用情况,深蓝条代表屏幕亮着的时间,浅蓝条为后台或待机耗电;点击具体时段可查看当时耗电的App及其前台或后台运行状态;下拉页面查看各App的耗电排行及前后台使用时间,后台活动过高可能影响续航,建议通过“通用”-“后台App刷新”进行调整;…

    2026年9月21日
    800
  • Linux如何设置虚拟网卡并分配IP

    Linux如何设置虚拟网卡并分配IPLinux如何设置虚拟网卡并分配IPLinux如何设置虚拟网卡并分配IPLinux如何设置虚拟网卡并分配IP

    可通过创建虚拟网卡为同一物理网卡绑定多个IP,临时使用ip addr add加label方式,永久配置则需修改对应系统网络配置文件,CentOS修改ifcfg-eth0:0,Ubuntu在interfaces文件中添加iface eth0:0,最后重启网络服务并验证接口状态。 在Linux系统中,可…

    2026年9月21日 用户投稿
    000
  • 抖音点单小程序怎么制作?详细教程

    如何制作抖音点单小程序?完整操作指南 想要在抖音上搭建一个点单小程序?有赞为你准备了详尽的操作流程,助你轻松上线。以下是具体步骤与关键要点: 一、注册并认证小程序 成为平台开发者首先需在抖音开放平台完成开发者入驻,具体操作如下:账号注册:前往抖音开放平台官网,完成开发者账户的注册。主体信息认证:提交…

    2026年9月21日
    000
  • win10如何修复“VSS”卷影复制服务编写器超时或失败_修复VSS卷影复制服务异常的方法

    首先重启并配置Volume Shadow Copy等相关核心服务为自动启动,确保其正常运行;接着通过vssadmin list writers命令检查VSS编写器状态,定位并处理异常编写器;然后运行sfc /scannow扫描修复系统文件;执行chkdsk C: /f /r检查磁盘错误;最后清理重建…

    2026年9月21日
    100
  • 协程调试与性能分析工具

    我们需要协程调试和性能分析工具是因为协程的异步特性使得传统工具难以应对调试和性能优化挑战。1) pycharm 适合基本调试,但处理大量协程时可能变慢。2) aiodebug 适用于检测协程问题,但会增加性能开销。3) asyncio-profiler 用于分析协程性能,但可能难以解读大量协程的结果…

    2026年9月21日
    100
  • AI推文助手如何制作产品教程 AI推文助手的教学内容创作

    AI推文助手如何制作产品教程 AI推文助手的教学内容创作AI推文助手如何制作产品教程 AI推文助手的教学内容创作AI推文助手如何制作产品教程 AI推文助手的教学内容创作AI推文助手如何制作产品教程 AI推文助手的教学内容创作

    使用AI推文助手可高效制作产品教学内容:一、输入产品功能并选择分步教程模板生成图文教程;二、提供操作关键词生成60秒内短视频脚本;三、启用多语言模块并上传术语表生成本地化推文;四、分析客服数据将高频问题转为步骤化解法推文。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 Dee…

    2026年9月21日 用户投稿
    100
  • 电脑防潮防静电措施

    防潮防静电需控制环境与规范操作。保持湿度40%~60%,定期开机驱潮,使用防潮箱存放硬件;操作前释放静电,使用防静电工具,避免干燥环境拆装;电脑远离高湿区,台式机通风放置,笔记本用包收纳,可有效延长设备寿命。 电脑在日常使用和存放过程中,容易受到潮湿和静电的影响,轻则导致运行不稳定,重则造成硬件损坏…

    2026年9月21日
    200

发表回复

登录后才能评论
关注微信